//
// Created by wanghy on 15/8/14.
//
//
/*
retain : release旧值,retain新值(用于OC对象),要配合nonatomic使用。
assign : 直接赋值,不做任何内存管理(默认,用于非OC对象类型)
copy : release旧值,copy新值(一般用于NSString *)
控制需不需生成set方法
readwrite :同时生成set方法和get方法(默认)
readonly :只会生成get方法
多线程管理
atomic :性能低(默认)
nonatomic :性能高(为iOS系统开发软件建议使用,为mac开发软件可以使用atomic)
*/
#import <Foundation/Foundation.h>
@class Car;
@interface Person : NSObject
//property 的 参数没有顺序要求,nonatomic,性能较高,一般用于 ios 开发,而atomic一般用语Mac开发。
@property(nonatomic,retain) Car * car1;
@end
原子性 | atomic | 对属性加锁, 多线程下县城安全, 默认选项 |
nonatomic | 对属性不加锁, 多线程访问下不安全, 但速度快 | |
读写性 | readwrite | 生成 getter 和 setter 方法, 默认选项 |
readonly | 只生成 getter 方法 | |
set 方法处理 | assign | 直接赋值, 默认值 |
retain | 先 release 原来的值, 在 retain 新值 | |
copy | 先 release 原来的值, 再 copy 新值 |