例如:我有两个 UIViewController
。第一个有一个按钮和一个 NSTextField
,第二个只有一个 NSTextField
。
当我点击第一个 Controller 上的按钮时——第二个 Controller 显示为弹出窗口。
将一些数据从第一个 Controller 传输到第二个 Controller 没什么大不了的——我使用 segue。但是我应该怎么做才能将数据传回——从弹出窗口到主窗口?
例如:我们打开弹出窗口,在NSTextField
中输入一些文本,我想在第一个NSTextField
中获取这段文本ViewController
。
我找不到答案:-(
最佳答案
在 macOS 中,如果您使用 Storyboard和 segues,这将非常容易。
NSViewController
有一个属性 presenting
包含对父 View Controller 的引用。
获取引用,调用父 View Controller 中的方法传递数据并关闭 subview Controller 。
let firstViewController = presenting as! FirstViewController
firstViewController.passDataBack(data)
self.dismiss(self)
关于swift - macOS, swift 3 : How to get data back after segue?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40481432/