iphone - 在 Objective C 中有两种声明实例变量的方法吗?

标签 iphone objective-c ios

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

相关文章:

iphone - 从裁剪图像中删除不需要的区域

ios - 如何将 UILabel 从小到原始大小进行动画处理?

ios - 调用异步方法的方法的单元测试

ios - Autoreleased 变量在 iOS 7.1 更新中崩溃,但在 iOS 7.1 之前的操作系统版本中工作正常

ios - 在 Xcode 帮助查看器中隐藏 Swift 文档

ios - swift 崩溃 : function signature specialization <Arg[0] = Owned To Guaranteed>

iphone - 使用按钮更改 iphone 应用程序语言,无需重新启动应用程序

iphone - UITableView自定义纯灰色索引

iphone - 使用 Game Center 登录在远程服务器上引导登录

ios - iPad pro 启动图像的大小是 2x?