4

我有一个带有窗口控制器的故事板。该窗口控制器有一个带有 2 个 NSToolbarItems、view1 和 view2 的 NSToolbar。这是 WindowController 的代码:

import Cocoa

class MainWindow: NSWindowController {

    override func windowDidLoad() {
        super.windowDidLoad()

    }


    @IBOutlet var toolbar: NSToolbar!

    @IBAction func view1(sender: AnyObject) {
        ViewController().changeView("View1")
    }

    @IBAction func view2(sender: AnyObject) {
        ViewController().changeView("View2")
    }
}

我还有一个在启动时加载的视图控制器(ViewController)。这是另外两个视图控制器(View1)和(View2)的代码

import Cocoa

class ViewController: NSViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

    }

    override var representedObject: AnyObject? {
        didSet {

         }
    }

    func changeView (kString:NSString) {
        let kView1:NSViewController = NSStoryboard(name: "Main", bundle: nil)?.instantiateControllerWithIdentifier("View1") as NSViewController

        let kView2:NSViewController = NSStoryboard(name: "Main", bundle: nil)?.instantiateControllerWithIdentifier("View2") as NSViewController

        var currentViewController = kView1

        switch kString {
        case "View1":
            currentViewController = kView1
        case "View2":
            currentViewController = kView2
        default:
            currentViewController = kView1
        }

        self.view.addSubview (currentViewController.view)
    }

}

这是我的故事板布局:(我似乎无法发布图片,我的声誉很低)希望你能理解

[MainWindow] -> [SplitViewController] -> [SideBar (尚未使用)]

---------------------------------------------> [视图控制器]

然后故事板中有两个独立的视图控制器,没有连接到任何东西。视图 1 和视图 2

View1 和 View2 都分别具有情节提要 ID 的 View1 和 View2。

运行应用程序并单击工具栏上的视图按钮之一时,我在控制台中收到一条错误消息:

2015-03-19 10:35:31.448 ToolbarTest[16032:2922107] -[NSNib initWithNibNamed:bundle:] 无法加载 nibName:捆绑包中的 ToolbarTest.ViewController(空)。

我究竟做错了什么?

4

0 回答 0