copyWithZone返回值所有权并保留计数
我在关于copyWithZone的苹果文档中读到:
“返回的对象由发件人隐式保留,发件人负责释放它”。
所以,如果我这样写:
- (id)copyWithZone:(NSZone *)zone {
MyObject* obj = [[[[self class] allocWithZone:zone] init] autorelease];
[obj fillTheObj];
return obj;
}
我打电话给:
MyStuff* obj = [varobj copy];
将obj
保留?如果我没有设置自动释放,保留计数怎么样?
没有找到相关结果
已邀请:
1 个回复
你换
方法中自动发布它,否则你不会拥有它(甚至可能无法用它做任何事情)。 取消自动释放,
将适当保留在
复印中。当你完成它时,你只需要ѭѭѭ。 Apple的一句话是说发件人 - 这是你的初始化 - 拥有所有权并需要释放它。 “发件人”是指发送
消息的对象,而不是您的
方法。