您的位置:首页 > 其它

alloc 和allocwithzone的区别

2013-01-30 15:28 260 查看

今天读cocoa design patterns 引发的问题 alloc和allocwithzone的存在解决了很多问题,但是还是很疑惑。(随便说句 此书中文版翻译不靠谱。。。)

下面是截自http://stackoverflow.com/的一段分析,虽然还没有体会,但是还是保留下来。

When one object creates another, it’s sometimes a good idea to make sure they’re both allocated from the same region of memory. The zone method (declared in the NSObject protocol) can be used for this purpose; it returns the zone where the receiver is located.


This suggests to me that your ivars, and any objects your classes "create" themselves could make use of
+allocWithZone:
in this way, to make the instances they create in the same zone.

-(id)init {
if(self =[super init]){
someIvar =[[SomeOtherClass allocWithZone:[self zone]] init];
}

return self;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: