1)#import <Foundation/Foundation.h>中的Foundation.h是框架主头文件,相当于已经拷贝了Foundation框架下的所有头文件,需要导入这个头文件后,才能正常使用NSLog。
(2)框架存放在/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library
(3)#import是#include的升级版,可以防止重复导入。
(4)NSLog已经包含自动换行。
(5)OC中得NSString长度计算的字数而不是字符数,如@“123哈哈”,长度是5。在C语言中length值是9,因为一个中文字符占3个字符长度。
(6)对象方法前面是-,类方法前面是+。类方法不可以访问成员变量(实例变量),如果方法不需要访问实例变量就用类方法,效率高。类方法只能用类调用,对象方法只能用对象调用。类方法不可以调用对方方法,对象方法可以调用类方法。类方法可以调用类方法。类方法和对象方法可以同名。
(7)当对象只需要调用一次的时候可用匿名对象。匿名对象可以作为实参传递。
(8)成员变量以下划线开头的好处之一:下方输入下划线就得到提示。
(9)self在类方法中就代表类,在对象方法中就代表对象。
(10)如果在子类中存在与父类同名的方法,称之为重写该方法。但是子类不能存在与父类相同的成员变量。
(11)super一般是明确告诉程序调用父类的东西。使用场景:一般是需要在子类中重写(添加增强)父类方法,但是原有的所有父类代码都能用,此时可用[super 方法名];把父类的那些代码都弄过来,然后再加上其他新增的代码,成为子类重写的方法。
(12)description方法用来输出对象的所有成员变量,当然自己也可以定制。 |
|