在大多数教程中,声明实例变量的方法是将其放在.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/

10-09 08:52