如何在 init 方法中从 NIB 加载 IBOutlets?

Posted

技术标签:

【中文标题】如何在 init 方法中从 NIB 加载 IBOutlets?【英文标题】:How to load the IBOutlets from NIB in the the init method? 【发布时间】:2012-08-09 06:50:48 【问题描述】:

我需要在我的 UIViewController 的 initWithNibName 方法中访问 IBOutlets,但它们都是 nil,因为它们还没有被实例化。有没有办法实例化它们?我读过调用 -loadView 是不安全的,因为它会导致内存泄漏。所以请告诉我是否有任何解决方案。

【问题讨论】:

【参考方案1】:

一般来说,这是不可能的,您尝试访问此刻甚至不存在的东西。为什么不在这个控制器中使用 viewWillAppear() 方法?我想这就是你所需要的。向我们提供代码示例或其他需要处理的内容。

【讨论】:

以上是关于如何在 init 方法中从 NIB 加载 IBOutlets?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS 4 中从 UIViews 加载 nib?

如何在 nib 中传递对对象的 init 方法的引用?

手动加载 nib 文件时未调用 init 或 initWithNibName

整理ViewController的生命周期和加载过程

为啥不调用基于 nib 的自定义表格单元格的 init 方法

如何为 iPhone 4 英寸和 iPhone 3.5 英寸加载单独的 NIB 文件?