0
我在苹果文档中阅读了有关copyWithZone的内容:“返回的对象由发件人隐式保留,负责释放它”。 但是...我怎么能释放我回来的东西......我要疯了!iPhone:copyWithZone:在返回之前释放一个对象?
示例代码:
- (id)copyWithZone:(NSZone *)zone {
MyObject* obj = [[[self class] allocWithZone:zone] init]; // explicit retain
[obj fillTheObj];
return obj; // implicit retain
}
凡应该是告诉释放? 我保留两次?呃...
Okkkk,呼叫的发件人,而不是对象的发件人。这更清楚。但我真的很疯狂。所以...我可以通过myObject.var = [localvar copy]将myObject中的属性定义为retain,并在dealloc中发布。那会很好,不是吗? – Oliver 2011-01-08 01:42:39