我可能没有正确使用 IBOutlet,或者其他一些关于 NIB 文件工作方式的微妙之处给我带来了麻烦 - 任何帮助都将不胜感激(请随时提出另一种方法来完成我想要的事情)。
我有一个 View 对象和一个 Controller 对象。两者都在NIB中。当加载 NIB 并在 'awakeFromNib' 回调中初始化 View 时,也会调用 Controller 的 init。我需要一种方法来连接这两个对象 - 具体来说,启用“视图”对象来调用控制器上的函数。
根据在线文档,实现这些连接的方法是在 View 中定义一个 IBOutlet 并将其连接到 Interface Builder 中的 Controller。所以我创建了一个
IBOutlet Controller* _controller;
在 View 界面中并通过从 View 到 Controller 的连接并将 _controller 出口分配给 Controller(Interface Builder 中的蓝色 Generic Object 框)以图形方式将其连接到 Interface Builder 中的 Controller 对象。
但在运行时,_controller 始终为 _nil。我已经验证了控制器的 init 确实被调用了。
我对此有什么明显的遗漏吗?有没有更简单的方法来连接这两者?由于它们都是由 NIB 创建的,因此我没有一个指向两者的公共对象。