在另一个 ViewController (macOS) 中调用函数

问题描述

如何以任何可能的方式与 Xcode Storyboards 上的另一个视图控制器通信?

考虑到封装原理,首选的方式似乎是调用一个ViewController中的函数

(失败的)想法:

  • 使用 self.storyboard to instantiate a Controller 和指定的标识符,将其转换为正确的视图控制器子类
  • 使用 let c = specialViewController() 实例化视图控制器[不起作用,因为实例的视图尚未加载]
  • 一个 IBOutlet 连接到另一个 NSViewController 子类 [这个应该可以,但不能]

注意:iOS 解决方案通常与 MacOS 解决方案不同

一个失败的想法代码

let spec_ref = self.storyboard!.instantiateController(withIdentifier: "specialSettings") as! SpecialSettings
 spec_ref.save_spec_settings();

save_spec_function:

enter image description here

spec_ref 仍然无法访问 Storyboard 上其他 ViewController 中的 IBOutlets,因此它一定不是正确的实例。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)