macOS, Swift 3: segue 后如何取回数据?
macOS, Swift 3: How to get data back after segue?
例如: 我有两个 UIViewController
。第一个有一个按钮和一个 NSTextField
,第二个只有一个 NSTextField
。
当我单击第一个控制器上的按钮时 — 第二个控制器显示为弹出窗口 window。
将一些数据从第一个控制器传输到第二个控制器没什么大不了的——我使用 segue。但是我应该怎么做才能将数据传回——从 popover window 到 main window?
例如: 我们打开弹出窗口 window,在 NSTextField
中键入一些文本,我想在第一个 NSTextField
中获取此文本ViewController
.
我找不到答案:-(
在 macOS 中,如果您使用故事板和 segues,这将非常容易。
NSViewController
有一个 属性 presenting
包含对父视图控制器的引用。
获取引用,调用父视图控制器中的方法传递数据并关闭子视图控制器。
let firstViewController = presenting as! FirstViewController
firstViewController.passDataBack(data)
self.dismiss(self)
例如: 我有两个 UIViewController
。第一个有一个按钮和一个 NSTextField
,第二个只有一个 NSTextField
。
当我单击第一个控制器上的按钮时 — 第二个控制器显示为弹出窗口 window。
将一些数据从第一个控制器传输到第二个控制器没什么大不了的——我使用 segue。但是我应该怎么做才能将数据传回——从 popover window 到 main window?
例如: 我们打开弹出窗口 window,在 NSTextField
中键入一些文本,我想在第一个 NSTextField
中获取此文本ViewController
.
我找不到答案:-(
在 macOS 中,如果您使用故事板和 segues,这将非常容易。
NSViewController
有一个 属性 presenting
包含对父视图控制器的引用。
获取引用,调用父视图控制器中的方法传递数据并关闭子视图控制器。
let firstViewController = presenting as! FirstViewController
firstViewController.passDataBack(data)
self.dismiss(self)