EffectiveObjective-C 2.0 读书笔记
2015-12-06 本文已影响44人
一铭_
Point 1
在类的头文件中尽量少引入其他头文件,通过“前向声明”该类,不用知道该接口的所有细节,将引入头文件的时机尽量延后,只有在确定有需要的时候才引入,减少编译时间。
@class
Point 2
多用类型常量,少用#define 预处理指令
static const NSString *str = @"String";
//作用域仅限于一个“编译单元”
外界可见的常值变量
extern NSString *const EOCStringConstant;//在.h 文件中
NSString *const EOCStringConstant = @"Value";//在.m 文件中
Point 3
实现 description 方法
@property (nonatomic, copy, readonly) NSString *firstName;
@property (nonatomic, copy, readonly) NSString *lastName;
.m中实现
- (id)initWithFirstName:(NSString *)firstName
lastName:(NSString *)lastName
{
if (self = [super init]) {
_firstName = firstName;
_lastName = lastName;
}
return self;
}
- (NSString *)description
{
return [NSString stringWithFormat:@"<%@: %p, \"%@ %@\">",[self class],self,_firstName,_lastName];
}