【发布时间】:2016-03-17 04:02:29
【问题描述】:
我在 Xcode 7.2.1 中创建了一个 OS X Cocoa 应用程序。我给 Main.storyboard 上的默认视图控制器一个 Storyboard ID 为“view1”。我添加了另一个视图控制器并给它一个故事板 ID“view2”。我向“view1”添加了一个按钮,并将操作链接到 ViewController.swift 并添加了以下代码:
@IBAction func view1Button(sender: AnyObject) {
for v in view.subviews {
v.removeFromSuperview()
}
let mainStoryboard: NSStoryboard = NSStoryboard(name: "Main", bundle: nil)
let sourceViewController = mainStoryboard.instantiateControllerWithIdentifier("view2")
self.view.addSubview(sourceViewController.view)
}
当我按下“view1”上的按钮时,一切都按预期工作。 “view1”被关闭,“view2”出现在同一个窗口中。
在“view2”上,我做了同样的事情。添加了一个按钮并将操作链接到 ViewController2.swift 并添加了以下代码:
@IBAction func view2Button(sender: AnyObject) {
for v in view.subviews {
v.removeFromSuperview()
}
let mainStoryboard: NSStoryboard = NSStoryboard(name: "Main", bundle: nil)
let sourceViewController = mainStoryboard.instantiateControllerWithIdentifier("view1")
self.view.addSubview(sourceViewController.view)
}
它没有按预期工作。当我单击“view2”上的按钮时,应用程序崩溃并收到以下错误:“线程 1:EXC_BAD_ACCESS(代码=1,地址=...)。我不明白为什么这不能按预期工作?
【问题讨论】:
标签: swift macos cocoa nsviewcontroller