如果property不填写任何关键字,例如
@property int number;
则默认添加的关键字是atomic,assign,readwrite
例子
@property (nonatomic,retain)NSObject *obj;
@property (nonatomic,retain,readwrite) NSObject *obj;
readwrite是默认行为,所以这两行代码等价
@property (retain) NSObject *obj;
@property (atomic,retain) NSObject *obj;
atomic是默认行为,所以这两行代码是等价的。
@property(atomic,assign)int number;
@property(atomic) int number;
@property int number;
对int 来说,atomic assign都是默认行为,所以这三行是等价的。
@property NSObject *obj;这样写行吗?不行的,报警告
@property (retain) NSObject *obj;这样就没问题了。何时使用assign、何时使用retain、copy后面再讲。
网友评论