回炉篇之(二)-- OC中声明变量的三种方法

iOS Mar 10, 2015
  • 方式一:@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,所以方式二不太常见。

Tags

Jie Li

🚘 On-road / 📉 US Stock / 💻 Full Stack Developer / 🎓 Grad Student / ®️ ENTJ

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.