您的位置:首页 > 移动开发 > Objective-C

Objective-C 里的 Alloc 和 AllocWithZone的区别

2017-08-22 14:16 453 查看


转载:http://blog.csdn.net/sbvfhp/article/details/47858469


以下是官方公布的单例写法



运行结果如下图:



很明显,我们在调用alloc的时候,默认的alloc会调用allocWithZone方法

接着看下图:



可以看出,单例是生效的,调用alloc 和 调用allocWithZone生成的单例是相等的。

接下来,我们对官方例子做一个修改:



屏蔽allocWithZone后测试效果如下:



综上可以知道:

1、alloc和allocWithZone都可以用于创建实例(其实是用于创建实例的时候分配内存空间)

2、alloc会默认调用allocWithZone方法

3、如果不重写allocWithZone方法,在调用alloc和allocWithZone方法产生的实例可能不是同一个实例,单例未真正实现

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