alloc init new

alloc:分配内存。

init:初始化。

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


注意:

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

    [[className alloc]init];

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

3.不推荐使用new:原因是使用new的话,初始化方法被固定死只能使用init,不能调用其他的initXX方法。

4.采用new方法只能采用默认的init方法完成初始化,采用alloc的方式可以用其他定制的初始化方法。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,161评论 1 32
  • 开发中天天都需要创建对象,可是初始化的时候为什么需要alloc init呢?alloc,init 对应又做了什么呢...
    linbj阅读 733评论 0 0
  • 先做两个实验,猜测打印结果:实验1: 打印结果: 实验2: 打印结果: 实际上,将NSString换成其他的类型,...
    sweetpf阅读 892评论 0 1
  • [[NSObject alloc] init]两段式构造 1、对象分配,方法有alloc和allocWithZon...
    啊哈呵阅读 1,528评论 0 0
  • 上一篇最后讲release的时候说到,在release的最后,当引用计数减为0的时候就进入了dealloc的过程。...
    Haven_ZN阅读 4,048评论 5 9