【发布时间】:2012-12-23 14:14:43
【问题描述】:
方法一:
@interface MyController : UIViewController {
UILabel *myText;
}
@property (nonatomic, strong) UILabel *myText;
方法二:
@interface MyController : UIViewController
@property (nonatomic, strong) UILabel *myText;
方法3:
@interface MyController : UIViewController {
UILabel *myText;
}
我已经阅读了一些关于这类东西的文章,但我仍然没有真正意识到我必须采用哪种方法。
我还发现有人说方法 1 是一种旧方法,所以我想知道使用 ARC 的 ios sdk 6 的最佳实践。
我知道使用属性声明变量是生成 getter 和 setter 的一种简单方法,有人建议使用它。但是,我想问一下,如果一个变量不是由另一个类调用的,那么这个变量是否需要使用属性?并将其设置为接口内的私有变量?或者对于仅在接口内声明的变量更好?我想学习最佳实践,如果这是一个愚蠢的问题,请原谅我。
另外,有些开发者是这样写@synthesize的
@synthesize myText=_myText;
但有些人会这样写:
@synthesize myText;
我也想知道区别,哪个更可取?
非常感谢!
【问题讨论】:
-
你所有的合成方法,在最后的 XCode 版本中没有合成将属性连接到名为 _myText 的 ivar,而不是 myText
标签: ios objective-c automatic-ref-counting instance-variables