Objective-C 的 @property 属性及参数

1. 关于 assign, copy, retain 的定义:

assign: 普通赋值(为基本数据类型准备的,只进行简单赋值)。
copy  : 拷贝对象(释放旧对象,克隆新对象并引用)。
retain : 引用对象(释放旧对象,引用新对象 )。

通常我们这样使用:

assign: 操作基本数据类型,如:NSInteger, CGFloat, int, float, double, char, …
copy  : 操作 NSString
retain : 操作 NSObject 及其子类

2. 关于属性的声明 @property:

一般形式:@property (参数1, 参数2) 类型 名称;

括号里的参数主要有以下三种:

1. 属性类型:getter=getterName, setter=setterName
2. 传递类型:assign(默认), copy, retain
3. 访问类型:readwrite, readonly
4. 原子类型:atomicity(默认), nonatomic

3. 关于属性的自动生成 @synthesize:

一般形式:@synthesize 成员变量;