gpt4 book ai didi

swift - 将数据从 NSViewController 传递到 NSSplitViewController 中的另一个 NSViewController?

转载 作者:行者123 更新时间:2023-11-30 11:22:00 27 4
gpt4 key购买 nike

您好,我在将数据发送到 NSSplitViewController 时遇到问题。看起来不像IOS开发那样工作。

第一个 Controller :

class LoginController: NSViewController {
//.....
@IBAction func Login(_ sender: Any) {
//....
let story = NSStoryboard(name: NSStoryboard.Name(rawValue: "Main"),
bundle: nil).instantiateController(withIdentifier:
NSStoryboard.SceneIdentifier(rawValue: "SPLIT")) as!
NSSplitViewController
let vc : ContainerController = ContainerController();
vc.passedData = "karosas";
self.view.window?.contentViewController = story;
//....
}
//.....
}

第二个 NSSplitViewController :

import Cocoa

class ContainerController: NSSplitViewController {

var passedData = "";

override func viewDidLoad() {
super.viewDidLoad()
print(passedData);
print("nzn");
}

}

现在我正在尝试将数据发送到 NSViewSplitController。我需要将数据传递给 NSSplitViewController 中的 NSViewController 。我确实尝试了很多不同的方法,但都失败了。所以我认为我需要首先将数据传递给 SplitController,然后传递给 ViewController。但我什至无法将任何数据发送到 NSSplitViewController。有人可以帮助我吗?

最佳答案

如果 LoginController 和 MenuController 都在 ContainerController 中,您可以执行以下操作:

登录 Controller

import Cocoa

class LoginController: NSViewController {
//.....
@IBAction func Login(_ sender: Any) {
//....
self.userName = value["name"] as! String
let MenuVC = parent?.childViewControllers[1] as! MenuController // 0 or 1 depending on order in SplitView
MenuVC.passedData = self.username
self.view.window?.contentViewController = parent as! ContainerController
//....
}
//.....
}

菜单 Controller

import Cocoa

class MenuController: NSViewController {

var passedData = ""

override func viewDidLoad() {
super.viewDidLoad()
print(passedData)
print("nzn")
}

}

关于swift - 将数据从 NSViewController 传递到 NSSplitViewController 中的另一个 NSViewController?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51157630/

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