假设我有一个带有一个UITableView属性的简单视图控制器:
@interface MyViewController : UIViewController {
UITableView *tv; // <-- DO I NEED THIS??
}
@property (nonatomic, retain) IBOutlet UITableView *tv;
@end
我真的需要声明UITableView * tv吗?我发现,即使我没有声明它(并简单地@synthesize属性),一切正常。然而,许多代码示例显式声明了变量。我不确定宣布它的好处(或者不宣布它的危害)是什么。
答案 0 :(得分:1)
不,你不必声明它,synthesize将负责在编译时动态注入代码。另一方面,如果你没有声明它,你将无法直接在Xcode中检查变量,这是缺点。
答案 1 :(得分:1)
在Objective-C 2.0中,编译器将为您和访问器合成存储。以前不是这种情况,因此所有人都明确宣布伊娃的例子。