回炉篇之(二)-- OC中声明变量的三种方法
- 方式一:@interface 内直接大括号定义
@interface SelfInfoTableViewController () {
NSArray *_basicInfo;
}
@end
- 方式二:大括号中定义完之后再用 @property,最后在 .m 文件中加入 @synthesize
@interface SelfInfoTableViewController () {
NSArray *_basicInfo;
}
@property (nonatomic, strong) NSArray *basicInfo;
@end
@synthesize basicInfo = _basicInfo
- 方式三:直接用 @property 声明
@interface SelfInfoTableViewController ()
@property (nonatomic, strong) NSArray *basicInfo;
@end
方式一和方式三的区别是,方式一定义的变量只能在自己内部使用,而不能在类外部使用,方式三则相反,内部使用的话,需要 _basicInfo
,或者 self.basicInfo
。
Xcode4 之后,基本摒弃了 @synthesize,Xcode 会自动生成 setter 和 getter,所以方式二不太常见。