Objective-C 的内存管理帮助

Posted

技术标签:

【中文标题】Objective-C 的内存管理帮助【英文标题】:Memory management help for Objective-C 【发布时间】:2011-04-07 19:04:06 【问题描述】:

我正在研究UIviewController中的内存管理,我有点困惑,要记住的重点是:

每次显示视图时都会调用viewDidLoad,这里我分配任何类型的变量。 viewDidUnload 在内存不足的情况下被调用,我将所有属性设置为 nil。 dealloc,我释放所有财产。

没事吧?

另外,如果我没有将标签链接到 IBOutlet,我是否存在内存泄漏或系统释放它?

【问题讨论】:

【参考方案1】:

没有。 -viewDidLoad 在控制器加载其视图时调用,而不是每次显示视图时调用。也许您正在考虑 -viewWillAppear。否则,您的观点是正确的。

如果您不将某些东西连接到插座,则插座将保持为零——没有泄漏。标签通常由其封闭的视图保留,并在视图层次结构的其余部分被释放时被释放。

【讨论】:

以上是关于Objective-C 的内存管理帮助的主要内容,如果未能解决你的问题,请参考以下文章

[精通Objective-C]内存管理

Objective-C的内存管理

Objective-C内存管理之MRC

Objective-C内存管理之MRC

Objective-C中的内存管理及MRC

Objective-C中的内存管理及MRC