在大多数教程中,实例变量的声明方式是放在.h中
@interface myViewController: UIViewController {
UITextField *myTextField;
}
@property (nonatomic, retain) IBOutlet UITextField *myTextField;
在 .m 中
@implementation myViewController
@synthetize myTextField;
但是在这个斯坦福大学类(class)中http://itunes.apple.com/itunes-u/ipad-iphone-application-development/id480479762这样做的方式相当
在 .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/