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方法产生的实例可能不是同一个实例,单例未真正实现
相关文章推荐
- alloc 和allocwithzone的区别 参考
- Objective-C 里的 Alloc 和 AllocWithZone
- alloc与allocWithZone的用法区别
- alloc 和allocwithzone的区别
- Alloc 和 AllocWithZone 区别和联系
- Objective-C中Alloc和AllocWithZone
- Alloc 和 AllocWithZone的区别
- [转]allocWithZone 和 单例模式
- stringWithFormat与[NSString alloc]initWithFormat 区别
- alloc和allocWithZone
- new alloc allocWithZone
- allocwithzone
- timestamp with local time zone 和 timesatamp with time zone的区别
- OC学习之路:[NSNumber alloc]和NSNumber numberWith的区别
- [[NSString alloc] initWithFormat:@"%d",index] 和[NSString stringWithFormat:]的区别?
- [[ViewController alloc]init]与[ViewController alloc]initWithNibName: bundle: ]的区别;
- Objective-C学习之NSMutableArray中arraywithcapacity 和 initwithcapacity的区别?
- 关于单例(Singleton)的示范代码:allocwithzone
- AllocWithZone:http://blog.sina.com.cn/s/blog_4cd8dd130101mi37.html
- 【Objective_C学习笔记】alloc-init 与new的区别