【发布时间】:2015-01-26 01:24:37
【问题描述】:
我正在实例化一个视图控制器以进入我的表,当我尝试在控制器视图中设置标签的 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
【问题讨论】:
-
您的代码中究竟发生了什么?靠近
postController!? -
我设置值的这一行:
postController!.titleLabel.stringValue = postData["title"].stringValue -
titleLabel 是 UILabel 吗? UILabel 没有
stringValue属性。你有 UILabel 的子类吗? -
@Jawwad 不,它是一个 NSTextField。这是一个 OS X 项目,而不是 iOS。
标签: macos swift nsviewcontroller