【发布时间】:2012-09-08 10:02:27
【问题描述】:
要支持带有ARC的iOS 4.3,我认为正确的方法是使用assign:
@property (assign, nonatomic) UIView *view;
@property (assign, nonatomic) MYNode *node;
正确吗?我还在Apple's doc for Transitioning to ARC 中看到以下内容:
对于声明的属性,你应该使用assign而不是weak;对于变量,您应该使用 __unsafe_unretained 而不是 __weak。
但是,如果我使用当前的 Xcode (4.4.1),将 Single View 应用程序目标更改为 4.3,然后按住 Ctrl 键将 UIButton 拖动到 .h 文件以创建插座,则生成的代码为:
@property (unsafe_unretained, nonatomic) IBOutlet UIButton *foo;
为什么会有区别,应该使用哪一个?
【问题讨论】:
标签: objective-c automatic-ref-counting assign unsafe-unretained