@property (参数1,参数2) 类型 名字; 这里我们主要分析在括号中放入的参数,主要有以下三种: setter/getter方法(assign/retain/copy)
读写属性(readwrite/readonly)
atomicity(nonatomic) 其中各参数说明如下: assign
默认类型,setter方法直接赋值,而不进行retain操作
retain
setter方法对参数进行release旧值,再retain新值,如下代码: - -(void) setObj:(ClassX*) value
- {
- if (obj != value)
- {
- [obj release];
- obj = [value retain];
- }
- }
copy
setter方法进行Copy操作,与retain一样
nonatomic
禁止多线程,变量保护,提高性能
readwrite
产生setter\getter方法
readonly
只产生简单的getter,没有setter。
|