【Objective_C学习笔记】alloc-init 与new的区别

  在一些源码中看到有人用[classname new]创建和初始化对象,但是我们大多数都用[[classname alloc] init],所以就很好奇两者之间的区别,通过查看一些资料

得出的结论是:

  1. [classname new]  = [[classname alloc] init];
  2. new使用的是默认的init方法,不太灵活,若使用alloc-init格式可调用自定义的初始化方法,带参或者不带参,灵活性较大;
  3. alloc-init显示调用初始化方法,而new隐示调用初始化方法;

综上所述,我觉得,若用默认的init方法,完全可以用[classname new] 创建和初始化对象简化代码;若要调用自定义的初始化方法,那还是用alloc-init吧,当然这还是随大家自己的使用习惯。

posted @ 2015-12-08 16:48  风语菡  阅读(829)  评论(0编辑  收藏  举报