面试题:@property (nonatomic,copy) N
2016-09-09 本文已影响103人
阳光的影子v
有可能崩溃。
用 @property声明可变数组时使用copy关键字修饰,设置方法不保留新值,而是将其拷贝,拷贝后的对象是不可变的,当改变(添加、删除、修改)这个数组中的元素的时候,会因为找不到对应方法而崩溃。
这也是用 @property声明 NSString、NSArray、NSDictionary 经常使用 copy 关键字的原因。因为这些类型都有对应的可变类型,NSMutableString、NSMutableArray、NSMutableDictionary,他们之间可能进行赋值操作,为确保对象中的字符串值不会无意间变动,应该在设置新属性值时拷贝一份。