设置字符串视图控制器标签的值会导致"found nil"错误



我正在实例化视图控制器以进入我的表,当我尝试在控制器视图中设置标签的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,一切都设置正确。我可以在后控制器的viewDidLoad方法中成功设置值。仅当我尝试使用实例化的控制器将它们设置在外部时,才会发生错误。我什至创建了一个测试方法来充当二传手,但这也失败了。

func test(a: String) {
    self.titleLabel.stringValue = a
}

这是错误:

fatal error: unexpectedly found nil while unwrapping an Optional value

刚刚遇到同样的问题,我想我想通了。试试这个:

//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"

我知道这篇文章很旧,但也许其他人会从中受益。

最新更新