声明IBOutlet有两种不同的方法。
在@interface部分作为变量:
IBOutlet UIButton *exampleButton;
在曲线括号下方但在.h文件的@end之前作为属性:
@property (nonatomic, retain) IBOutlet UIButton *exampleButton;
这两种方法有什么区别,我应该在哪里使用?哪种方法更好,在什么情况下?
答案 0 :(得分:3)
根据我的经验,任何一个都可以正常工作。什么是行不通的是声明实例变量和属性“IBOutlet” - 这似乎真的混淆了事情。如果由于某种原因您想避免提供对插座的公共访问,您可以将其声明为实例变量,而不是创建属性。另一方面,现在运行时将为您合成实例变量,许多人只声明属性并跳过显式实例变量声明;在这种情况下,您显然会将该属性声明为IBOutlet。
答案 1 :(得分:0)
@property结合@synthesize设置对象的getter和setter方法。您应该至少在界面中定义它,如果您决定从中创建一个属性,那么您还必须将它合成为.m文件。