该内容摘自《Effective Objective-C 2.0 编写高质量iOS与OS X代码的52个有效方法.pdf》,作为读书的笔记。
1.在类的头文件中尽量少引入其他的头文件
2、多用字面量,少用与之等价的方法
3、多用类型常量,少用#define预处理指令
例如:
将#define ANIMTION_DURATION= 3.0替换成
static const NSTimeIntrval KAnimtionDuration = 3;
若不打算公开某个常量就应该将该常量定义在类的实现文件中
如果想对外公开某个常量,比如发出某个通知,但外界不用关心真正通知的名称,则应该这样写:
在头文件中:
extern NSString *const NotificationName;
在实现文件中:
NSString *const NotificationName = @"VAULE";
4、使用枚举表示状态和选择等。
5、理解“属性”的概念
采用属性的方式定义实例变量,系统会自动在编译的时期给该类添加上属性所对应的实例变量,并且在变量名前加上"_",还会生成setter和戈塔特人方法;
可以在实现文件中通过@synthesize方法重新指定实例变量的名字。
也可以使用@dynamic关键字,让编译器不用创建属性需要的实例变量,和创建存取方法,
属性的特性:
原子性,读写权限,内存管理语义(strong,weak,assgin,retain,copy)
方法名(gtter = <name> setter = <name>)
6、在对象内部尽量直接访问实例变量
7.对象等同性
8、coco中的族类
9、在既有的类里采用关联对象存放自定义的数据