是否需要释放initWithNibName

Mel*_*Mel 2 iphone objective-c

我使用initWithNibName加载详细信息视图.我只是想这些东西需要发布吗?init基本上是添加1的保留计数?

Yuj*_*uji 5

是.阅读本节.任何开头init...都会给你一个你拥有的对象.

  • Nit:"init ..."不会创建对象."alloc"创建对象,"init ..."初始化它,我很确定(但不确定)它是"alloc"保留对象.但是(除非在非常奇怪的情况下)你不能没有另一个,所以你的陈述与大多数目的的真实相近. (4认同)

Par*_*att 5

@Mel:

是的,你需要释放它们.

来自Apple的Doumentation的一部分:

您拥有自己创建的任何对象

使用名称以"alloc","new","copy"或"mutableCopy"开头的方法(例如,alloc,newObject或mutableCopy)创建对象.

但是因为它与此无关,initWithNibName但它与分配"mutableCopy","copy","retain"和"alloc"的内存的四个单词有关.所以希望你现在很清楚.

init关键字只是初始化一个对象.内存分配是通过allocretaincopymutableCopy关键字完成的

你所说的保留计数为1是因为alloc关键字,而不是initWithNibName.

希望这对你有所帮助.