gpt4 book ai didi

objective-c - 如何从界面生成器访问窗口 View ?

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

我正在尝试在 xcode 的界面生成器中为 cocoa 应用程序创建界面。我在界面生成器中创建的一个窗口的 View 依赖于另一个 View 的数据,因此有必要从必须向其传递数据的类向该 View 发送消息。但是,我似乎无法找到一种方法来从 nib 文件的所有者那里获取此 View 对象的引用。我正在使用的代码大致如下:

controller = [[NSWindowController alloc] initWithWindowNibName:@"Somenibname"];
[[controller window] display];
theOtherView = [[[[controller window] contentView] subviews] objectAtIndex:1];
[theOtherView setObjectwhichneedstobemessaged:self];
[theOtherView sendAMessage:self];

此代码所在的对象永远不会收到该消息。最初我实际上认为内容 View 是出现在界面生成器中的 View ,并尝试像这样获取对它的引用

theOtherView = [[[ Controller 窗口] contentView]];

但这也不起作用。感谢您的阅读。

最佳答案

听起来您可能需要更好地了解 View Controller 结构如何与 nib 文件一起工作,并且如果没有更多代码/细节,很难确切地知道您要做什么,但是解决问题的快速方法可以是使用 NSNotification,而不是尝试定位其他 View 并通过调用链发送消息。

您可以注册以处理来自接收 View 的通知,并从发起 View 发送通知(如果您需要两种方式,反之亦然)。

关于objective-c - 如何从界面生成器访问窗口 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11406157/

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