迅速4个数据从NSViewController到NSTabViewController

问题描述 投票:-2回答:1

我有一个名为LOGIN一个的NSView控制器

我有一个名为NSTabViewController列表和这个有两个标签:playlistLists - 与类PlaylistLists相关,专辑 - 与类相关的相册

我需要从登录传递一个变量来playlistLists,我认为这样的事情应该工作(其从另一个岗位),但这是iOS和我需要它适用于MacOS

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    let barViewControllers = segue.destination as! UITabBarController
    let destinationViewController = barViewControllers.viewControllers?[0] as! FirstViewController
    destinationViewController.test = "Hello TabBar 1"

    // access the second tab bar
    let secondDes = barViewControllers.viewControllers?[1] as! SecondViewController
    secondDes.test = "Hello TabBar 2" }

所以我把它改成这样:

override func prepare(for segue: NSStoryboardSegue, sender: Any?) {
    let barViewControllers = segue.destinationControlles as! NSTabViewController
    let destinationViewController = barViewControllers.viewControllers?[0] as! playlistLists
    destinationViewController.test = "Hello TabBar 1"

    // access the second tab bar
    let secondDes = barViewControllers.viewControllers?[1] as! SecondViewController
    secondDes.test = "Hello TabBar 2"  }

此行中我不能弄清楚如何去改变它适用于MacOS:

    let destinationViewController = barViewControllers.viewControllers?[0] as! playlistListsts

也许是不这样做的正确方法。

谢谢你的帮助

swift macos nsview nstabview
1个回答
0
投票

当您使用as!从一种类型强制转换为另一种,你必须指定一个类(或结构)类型,而不是一个变量或属性名称。所以,如果playlistsLists是类型PlaylistLists的属性,那么该订单必须

let destinationViewController = barViewControllers.viewControllers?[0] as! PlaylistList
© www.soinside.com 2019 - 2024. All rights reserved.