ARC中类属性小结

属性声明和所有权修饰符

属性 所有权修饰符
assign unsafeunretained修饰符
copy __strong修饰符(但赋值的是被复制的对象)
retain __strong修饰符
strong __strong修饰符
unsafe_unretained __ unsafe__unretained修饰符
weak __weak修饰符

注意

copy不只是简单的赋值,赋值的是通过NSCopying协议定义的copyWithZone:方法返复制的对象

在声明成员变量时必须与属性中的所有权修饰符一致,否则会报编译错误

{
    NSString * __weak _strProperty;
}

@property (nonatomic, weak) NSString *strProperty;