黑马程序员技术交流社区
标题:
为什么要把new 一个对象分两步写呢
[打印本页]
作者:
keycola
时间:
2014-12-10 10:30
标题:
为什么要把new 一个对象分两步写呢
new 为什么要分 alloc 开辟空间,然后init 初始化呢,然后init会是一个什么过程呢
作者:
xuan120914
时间:
2014-12-10 12:24
非要扒光原理,会不会很乱?
作者:
sweet凌风
时间:
2014-12-10 13:47
你也可以一步就写出来,这是个人习惯,可能是因为这样写程序看起来更直观吧
作者:
楚燮哥哥
时间:
2014-12-10 14:03
如果你需要初始化出来的对象中的属性带有属性值就要分开写并重写init方法咯,init是NSObject中的方法用来初始化类,个人将其理解为使对象具有消息传递的能力
作者:
lnyg1992
时间:
2014-12-10 19:37
1.init初始化是个对象方法,可以重写init方法,就是构造方法,让对象初始化有自定义默认值;2.这样写还牵连到后续OC的内存管理,为了方便以后
作者:
Xwoder
时间:
2014-12-11 10:00
Cocoa框架的语法,我觉得还有个很重要的用途就是方便调用带参数的inti或是非默认的inti方法,如果你只写new,你怎么调用带参数的inti或是非默认的inti方法呢
作者:
13hoop
时间:
2014-12-11 13:28
alloc只是开辟空间单空间的值是随机的 init是被重载的方法在object中有定义 通过init方法给这个空间赋初值
作者:
littledogboy
时间:
2014-12-11 14:26
一门语言的语法而已。不用太纠结。
作者:
mahei521
时间:
2014-12-11 15:05
嘿嘿,说白了,就是分两步,在分配空间后初始化的过程中你可以对初始化进行一些你自己设定的操纵,如果用new的话,就没有办法进行自己设定的初始化,只能用系统的,所以分两步就是为了增加灵活性!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2