本文共 437 字,大约阅读时间需要 1 分钟。
@synthesize name;
- (void)setName:(NSString *)theName {
if (theName == name) {
// 注意1return;
}
[name release];
name = nil;
name = [theName retain];
}
- (NSString *)name {
[name retain]; // 注意2
[name autorelease]; // 注意3
return name;
}
注意1,2,3,这三个点, 可以解决下面的情况
NSString *s = self.name;
self.name = s;
// 如果不像注意1,2,3,上面这样写, 就可能会出现self.name=错误内存,
同样, 注意1中, 可以解决到这个问题, self.name = @"china"; self.name=@"china"; 执行两次,就会遇到问题, 所以”注意1“这里可以解决这个问题
转载地址:http://vgwpi.baihongyu.com/