1、#import可保证头文件只被包含一次,而无论此命令实际上在那个文件中出现了多少次
说明:这功能基于#ifdef命令的方案来避免一个文件包含另一个文件
2、每个框架都有一个主头文件,包含了框架的各个头文件,通过使用#import导入主头文件。可以使用框架的所有特性
3、BOOL实际上是一种带符号的字符类型(signed char)的定义(typedef),它使用8位存储空间。
4、BOOL在做比较的时候,需要和NO比较,因为NO就是0,而不要和YES比较,因为1不等于YES
5、私有成员变量与方法
如果您想要某个属性,并且不想让其他类访问此信息,请将此属性设为私有,方法是将它放在实现文件 (.m) 顶部的类扩展中。
与属性一样,方法也可以是私有的或公共的。公共方法在公共接口中声明,因此可以被其他对象查看和调用。它们的相应实现存在于实现文件中,其他对象看不到。私有方法仅有一个实现,并与类相同,这意味着只可以在类实现中调用它们。这是一个强大的机制,可将内部行为添加到类而不允许其他对象进行访问。
(以上两句引自https://developer.apple.com/library/ios/referencelibrary/GettingStarted/RoadMapiOSCh/WritingaCustomClass.html#//apple_ref/doc/uid/TP40012668-CH18-SW1)
实质上,OC并不存在真正的私有方法,而这种所谓的“私有”只是OC动态的副作用
5、在OC中调用方法时,一个名为self的秘密隐藏参数将被传递给接受对象,而这个参数引用的就是该接受对象
6、面向对象应该保证对扩展开放,对修改关闭