- 对于字符串类型的属性变量(貌似数组也是),经常用的属性声明是:
@property (nonatomic, copy) NSString *name;
这条语句等价于
-(void) setName: (NSString *)theName
{
If ( theName != name) {
[name release];
name = [theName copy];
}
}
如果不用copy的话就相当于:
-(void) setName: (NSString *)theName
{
Name = theName;
}
导致结果是name和theName都是指向同一个对象。 那么如果theName的值被修改,那么name的值也会被修改。
所以使用copy来复制,其完成的功能是调用alloc方法创建一个新的字符串对象(initWithString:theName)
Objective-C:copy的用法解释
最新推荐文章于 2024-07-15 11:16:21 发布