new与alloc/init的区别

alloc:分配内存。

init:初始化。

new:代替上面两个函数:分配内存,并且初始化。

 

注意:

1.在实际开发中很少会用到new,一般创建对象时我们一般是

     [[className alloc]init];

2.区别只在于alloc分配内存的时候使用了zone,它是给对象分配内存的时候,把关联的对象分配到一个相邻的内存区域内,以便于调用时消耗很少的内存,提升了程序处理速度。

3.采用new方法只能采用默认的init方法完成初始化,采用alloc的方式可以用其他定制的初始化方法(其他initXX便利构造器)。

 

猜你喜欢

转载自www.cnblogs.com/huangzs/p/10712162.html