1. strong:除NSString/block以外的OC对象
@property (nonatomic, strong) NSSArray *array;
2.weak:各种UI控件(但不是绝对,也有控件要使用strong属性的)
@property (nonatomic, weak) UIButton *button;
3.assign:CGFloat, NSInteger等基本数据类型、枚举、结构体(非OC对象)
@property (nonatomic, assign) CGFloat width;
4.copy: copy:创建的是不可变副本(如NSString、NSArray、NSDictionary)和对应的可变副本mutableCopy(如NSMutableString等)
@property (nonatomic, copy) NSString *str;
@property内存管理策略的选择
1.非ARC
1> copy : 只用于NSString/block
2> retain : 除NSString/block以外的OC对象
3> assign : 基本数据类型、枚举、就够提(非OC对象),当两个对象相互引用,一端用retain,一端用assign
2.ARC
1> copy : 只用于NSString/block
2> strong : 除NSString/block的OC对象
3> weak : 当2个对象相互引用,一端用strong,一端weak
4> assign : 基本数据类型、枚举、结构体(非OC对象)