gpt4 book ai didi

cocoa - IBOutlet 未在 Cocoa MVC 项目中设置

转载 作者:行者123 更新时间:2023-12-03 17:27:16 28 4
gpt4 key购买 nike

我可能没有正确使用 IBOutlet,或者 NIB 文件工作方式的其他一些微妙之处给我带来了麻烦 - 任何帮助将不胜感激(随时提出替代方法来完成我想要的任务)。

我有一个 View 对象和一个 Controller 对象。两者都在 NIB 中。当加载 NIB 并在“awakeFromNib”回调中初始化 View 时,也会调用 Controller 的 init。我需要一种方法来连接这两个对象 - 具体来说,使“ View ”对象能够调用 Controller 上的函数。

根据在线文档,连接这些的方法是在 View 中定义 IBOutlet 并将其连接到 Interface Builder 中的 Controller 。所以我创建了一个

IBOutlet Controller* _controller;

在 View 界面中,通过从 View 到 Controller 建立连接并将_controller导出分配给 Controller (界面生成器中的蓝色通用对象框),以图形方式将其连接到界面生成器中的 Controller 对象。

但在运行时,_controller 始终为 _nil。我已经验证了Controller的init确实被调用了。

我是否遗漏了一些明显的东西?连接这两者有更简单的方法吗?由于它们都是由 NIB 创建的,所以我没有一个具有指向两者的指针的公共(public)对象。

最佳答案

尝试在 viewDidLoad 中访问 IBOutlet

当调用 awakeFromNib 时,并非所有 IBOutlets 都会被填充(即使文档似乎暗示了这一点)。

关于cocoa - IBOutlet 未在 Cocoa MVC 项目中设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/855068/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com