【发布时间】:2016-07-20 04:55:08
【问题描述】:
我仍在学习视图的工作原理,但我发现了一个我无法解决的问题...
我得到了类GraficsBalancGlobalViewController这是类GraficViewController的子类
class GraficsBalancGlobalViewController: GraficViewController {
@IBAction func afegeixGrafic(sender: NSButton) {
addNewGrafic() // which is set on the GraficViewController
}
}
当我执行 IBAction afegeixGrafic 时,我的程序在下面标记的行崩溃:
class GraficViewController: NSViewController, GraficViewDataSource {
@IBAction func button(sender: NSButton) {
addNewGrafic()
}
func addNewGrafic() {
let frame = NSRect(x: 0, y: 0, width: self.view.bounds.width , height: self.view.bounds.width * 0.25)
let nouGrafic = GraficView(frame: frame)
scrollView.addSubview(nouGrafic) <---- BREAK here!
}
@IBOutlet weak var scrollView: NSView!
//...more code
}
编译器说:
致命错误:在展开可选值时意外发现 nil
但GraficViewController 中的按钮 (IBAction) 效果很好!!所以我认为问题与scrollView有关,但我不知道可以是什么..它被初始化了..
- 只是提到
GraficView(frame: frame)不是问题,因为我尝试过并且效果很好。
【问题讨论】:
-
您是否检查了
IBOutlet中的scrollView? -
在此行添加断点,并在调试器控制台中输入“p scrollView”。 scrollView 是 nil 吗?
-
@Drako 是的!你是对的,scrollView 是 nill,但它存在,它在屏幕上!
-
我发现在
@IBAction func button的情况下,scrollView 不为零!,我真的不知道为什么.. 执行其他@IBAction 时不起作用...跨度>
标签: xcode swift view viewcontroller fatal-error