copyWithZone返回值所有权并保留计数

我在关于copyWithZone的苹果文档中读到: “返回的对象由发件人隐式保留,发件人负责释放它”。 所以,如果我这样写:
 - (id)copyWithZone:(NSZone *)zone {
        MyObject* obj = [[[[self class] allocWithZone:zone] init] autorelease];
        [obj fillTheObj];

        return obj;
    }
我打电话给:
MyStuff* obj = [varobj copy];
obj
保留?如果我没有设置自动释放,保留计数怎么样?     
已邀请:
不要在你的
copyWithZone
方法中自动发布它,否则你不会拥有它(甚至可能无法用它做任何事情)。 取消自动释放,
obj
将适当保留在
MyStuff
复印中。当你完成它时,你只需要ѭѭѭ。 Apple的一句话是说发件人 - 这是你的初始化 - 拥有所有权并需要释放它。 “发件人”是指发送
copy
消息的对象,而不是您的
copyWithZone
方法。     

要回复问题请先登录注册