To support iOS 4.3 with ARC, I think the proper way is to use assign
:
@property (assign, nonatomic) UIView *view;
@property (assign, nonatomic) MYNode *node;
Is that correct? I also see the following in Apple's doc for Transitioning to ARC:
For declared properties, you should use assign instead of weak; for variables you should use __unsafe_unretained instead of __weak.
However, if I use the current Xcode (4.4.1), changing a Single View app target to 4.3, and Ctrl-drag a UIButton to the .h
file to create an outlet, the generated code is:
@property (unsafe_unretained, nonatomic) IBOutlet UIButton *foo;
Why the difference and which one should be used?