我是Swift和OSX开发中的绝对新手,如果我的问题太过教练,我很抱歉。我想了解NSViewControllers之间的导航原理。
我有我的默认SecondViewController
,登录名和密码字段以及登录按钮。单击按钮后,返回令牌。现在我试图改变"查看"到@IBAction func loginButton(_ sender: Any) {
....
}
并保存某处令牌,我将来需要它。我该怎么做?并且可以在功能中执行此操作?:
GET
谢谢!
答案 0 :(得分:2)
您需要使用httpRedirect="true"
来执行此操作。
首先在segues
使用故事板编辑器之间建立segues
连接。之后,您需要在故事板的属性检查器上为ViewControllers
提供标识符。然后在您的代码中,您可以通过segues
调用新的ViewController
,如下面的代码所示。
使用此代码,您可以使用按钮传递数据:
segue
使用此代码,您将使用class ViewController: NSViewController {
var dataToPass: String = "DataToPass"
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func loginButton(_ sender: Any) {
performSegue(withIdentifier: NSStoryboardSegue.Identifier(rawValue: "segueIdentifier"), sender: self)
}
override func prepare(for segue: NSStoryboardSegue, sender: Any?) {
if segue.identifier!.rawValue == "segueIdentifier" {
let destinationViewController = segue.destinationController as! ViewController2
destinationViewController.dataToReceive = dataToPass
}
}
}
class ViewController2: NSViewController {
var dataToReceive: String
override func viewDidLoad() {
super.viewDidLoad()
}
}
override viewWillAppear
在这两种情况下,您都需要确保要传递给其他视图控制器的数据不为空。