gpt4 book ai didi

objective-c - 如何从交换的自定义 View 访问方法/变量

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

我创建了一个包含 NSSplitView 的窗口,在这种情况下,正确的自定义 View 有一个我在运行时交换到的 View 。交换的自定义 View 包含一个 NSTableView,其中包含数据。我在应用程序的主窗口中有一个搜索框,我希望能够用它来约束 TableView 的行。

我有执行此操作的代码,并且我知道它可以工作,但是我的代码是使用同一窗口范围内的搜索文本框和 TableView 进行测试的。由于文本搜索框现在位于主窗口中, TableView 位于不同的自定义 View 中,我不确定如何让文本搜索框从自定义 View 的 Controller 类中调用相关方法,因为我不知道不再可以直接访问这些方法。

我确信这是一个非常初学者的问题,但任何帮助将不胜感激。谢谢。

最佳答案

让主窗口 Controller 将搜索查询或过滤谓词传递给内容 View Controller 的属性。

您可以为主窗口 Controller 提供一个弱引用 ( assign ) 属性来保存当前内容 View Controller 。实现一个自定义 setter ,它不仅可以分配给支持实例变量,还可以进行交换。也就是说,任何时候需要进行交换时,您只需说 self.currentContentViewController = viewControllerToSwapIn ,当需要更改查询/谓词时,将其传递给 self.currentContentViewController.searchQuery (在 MainContentViewController 类中实现了 searchQuery 属性,并使所有实际的内容 View Controller 都继承自该类)。

关于objective-c - 如何从交换的自定义 View 访问方法/变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6448066/

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