我正在实例化一个视图控制器进入我的表,当我尝试在控制器视图中设置标签的stringValue
时,我收到错误。
func tableView(tableView: NSTableView, viewForTableColumn tableColumn: NSTableColumn?, row: Int) -> NSView? {
let postController = storyboard!.instantiateControllerWithIdentifier("post") as? PostController
// This line causes the error.
postController!.titleLabel.stringValue = "abc"
return postController!.view
}
关于IBOutlets
,所有内容都已正确设置。我可以在PostController的viewDidLoad
方法中成功设置值。只有在我尝试使用实例化控制器将它们设置为外部时才会发生错误。我甚至创建了一个测试方法来充当setter,但也失败了。
func test(a: String) {
self.titleLabel.stringValue = a
}
这是错误:
fatal error: unexpectedly found nil while unwrapping an Optional value
答案 0 :(得分:2)
刚刚遇到同样的问题,我想我已经明白了。试试这个:
//Maybe use as! to force this; if it doesn't load, you need to know about it
let postController = storyboard!.instantiateController(withIdentifier: "post") as! PostController
//Add this
postController.loadView()
postController!.titleLabel.stringValue = "abc"
我知道这篇文章很老,但也许其他人会从中受益。