它们代表三种不同的引用方式,如下列出它们的内部逻辑。
self.property = value
- assign
property = value - retain
if (property != value) {
[property release];
property = [value retain];
} - copy
if (property != value) {
[property release];
property = [value copy];
}
注意copy属性需要实现NSCopying协议以完成深拷贝。