在大多数教程中,声明实例变量的方法是将其放在.h中
@interface myViewController: UIViewController {
UITextField *myTextField;
}
@property (nonatomic, retain) IBOutlet UITextField *myTextField;
并在.m中
@implementation myViewController
@synthetize myTextField;
但是在斯坦福大学的这门课程中,
在.h中,仅执行:
@interface myViewController: UIViewController
@property (nonatomic, retain) IBOutlet UITextField *myTextField;
在.m中执行以下操作:
@synthetize myTextField = _myTextField;
它们相等吗?第二种方法特定于iOS5吗?
最佳答案
它们在功能上是等效的。在ObjC 2.0中,如果您没有在synthesize
语句中指定一个,则synthesize
关键字将自动创建关联的ivar。所有现代运行时都具有此功能。
关于iphone - 在Objective C中是否有两种方法来声明实例变量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9539997/