0
说我有:当我将其设置为新对象时,是否必须调用release-objective-c retain类变量?
@property(nonatomic,retain)NSString * foo;
在某些类。
我呼吁:
myclass.foo = [NSString stringWithString:@"string1"]; myclass.foo = [NSString stringWithString:@"string2"];
我是不是应该叫[myclass.foo发布]设置为“字符串2”,以避免内存泄漏过吗?
或者事实上没有任何东西指向第一个“string1”对象了吗?
而在dealloc方法中[foo release]会被调用。
你应该永远不要在像'[myclass.foo release]'这样的属性存取器上使用释放。 – Giao 2010-04-24 22:53:34
请阅读Cocoa内存管理指南。 – 2010-04-24 22:55:58
更具体地说:http://developer.apple.com/mac/library/documentation/cocoa/Conceptual/MemoryMgmt/ – 2010-04-25 00:40:48