我在这里疯了。
我一直在尝试遵循任何关于Cocoa tableViews的教程,我一遍又一遍地遇到同样的问题。
我的项目:
在AppDelegate中添加为子视图的MasterViewController视图:
masterViewController = MasterViewController(nibName: "MasterViewController", bundle: nil)
window.contentView!.addSubview(masterViewController.view)
masterViewController.view.frame = window.contentView!.bounds
现在我正在尝试创建自定义TableCellView,因此我添加了一个名为CustomCell的新文件,该文件继承自TableCellView
我将MasVC.xib中TableCellView的类更改为“CustomCell”,然后在该单元格中删除两个标签。我还设置了一个标识符(“SetCell”)
当我试图让IBOutlets将这些标签连接到我的CustomCell文件时,没有任何反应 - 我不能这样做。
所以我将新对象放入MasVC.xib并将其类设置为CustomCell - >现在我可以建立这些联系。
在viewForTableColumn中 (xxxx和yyyy仅用于测试目的):
let cell: CustomCell = tableView.makeViewWithIdentifier("SetCell", owner: self) as! CustomCell
cell.firstLabel.stringValue = "xxxx"
cell.secondLabel.stringValue = "yyyy"
return cell
我启动了我的项目,将第一件事添加到我的桌子和kaboom。它突出了
cell.firstLabel.stringValue = "xxxx"
并显示错误:
fatal error: unexpectedly found nil while unwrapping an Optional value
(lldb)
我做错了什么?
EDIT1
它似乎根本没有创建那些标签,但为什么呢?
EDIT2
以上观点。
我设法解决了它(可能不是最好的解决方案......) 正如我所提到的 - 我添加了一个对象并将其连接到类TwoLabelCell(而不是CustomCell)。这样我就可以将IBOutlets拖到TwoLabelCell文件中。然后,我必须通过拖动从两个标签单元格(显示在SetsColumn正下方的视图中显示的那些)(右侧面板上显示的那些)到实际标签的连接来连接我的标签和TableViewCell,标签现在看起来像这样: / p>
我现在有这样的警告:
Unsupported Configuration: Outlet 'secondLabel' of 'Two Label Cell' is connected to 'Second Label,' an invalid destination (Object may be repeated at runtime.)
但它确实有效。