我在苹果文档中读到了关于copyWithZone的内容:“返回的对象由负责释放它的发送者隐式保留”。但是..。我该如何释放我退回的东西...我要发疯了!
代码示例:
- (id)copyWithZone:(NSZone *)zone {
MyObject* obj = [[[self class] allocWithZone:zone] init]; // explicit retain
[obj fillTheObj];
return obj; // implicit retain
}被告知的版本应该放在哪里?我保留了两次?呃..。
发布于 2011-01-08 09:36:06
发送者负责释放。这意味着调用您的copy方法的任何人都会获得所有权,即:
MyObject *obj = ...
MyObject *aCopy = [obj copy];
... do stuff with aCopy
[aCopy release];https://stackoverflow.com/questions/4631797
复制相似问题