iOS开发中经常遇到创建对象,我们都知道iOS创建对象有两种方式
- alloc init
- new
这两种创建对象的方式有什么区别呢?
- alloc init在分配内存的时候使用了zone,它是在给对象分配内存的时候把关联的对象分配到一个相邻的区域内,以便于调用时消耗很少的内存,提升程序的处理速度;
- 使用new来创建对象的话,初始化方法被固定死了,只能使用init,不能调用其他的initWith方法;
- 使用alloc init方法,我们可以重写init方法,但是如果使用new来创建的话就只能走系统的init方法。
网友评论