当前位置: 代码迷 >> Iphone >> 关于alloc init,该怎么处理
  详细解决方案

关于alloc init,该怎么处理

热度:141   发布时间:2016-04-25 05:50:06.0
关于alloc init
为什么这两个必须要连用呢?alloc已经为对象分配了存储空间,init是做什么的?一般按照java来说,new一个对象之后不就直接用了?
------解决方案--------------------
alloc只是分配存储空间,并没有初始化,init里可能有一些方法呢,你自己也可以写init里的方法呀,类似于java中构造方法里的内容
------解决方案--------------------
c++里面的new,会先分配内存,然后调用类的构造函数初始化这块内存。所以分配内存和初始化的工作,new自己都做了。Java中的new应该也类似,先分配内存,再完成初始化。

Cocoa里面的alloc,从名字来看,应该只是分配内存,而init负责初始化。alloc和init一起完成类似于Java中new的工作。

我刚接触Objective-C,感觉是这样。
------解决方案--------------------
alloc是分配内存空间,init是初始化,两个一起等效于new, 在OC里都可以用,但一般推荐用alloc+init的,这个能更清晰看到分配内存和初始化这个过程,并且如果有init方法比如initWith......这些的就方便点
------解决方案--------------------
alloc只是分配内存空间给对象,而init是对对象进行初始化方法。
------解决方案--------------------
[NSObject new]
  相关解决方案