我想在我的 Cocoa 应用程序中使用 NSTableView
,因此我必须将 TableView 的 NSTableViewDataSource
委托(delegate)设置为 self
。但是,由于错误 Cannot assign to the result of this expression
,以下代码无法编译。
myTable.dataSource = self
我确实像这样声明了 myTable
变量:
@IBOutlet var myTable: NSTableView
另请注意,我正确声明我的 AppDelegate 符合 NSTableViewDataSource
协议(protocol)。
那么上面两行有什么问题呢?
此外,我将 TableView 声明为 @IBOutlet var myTable: NSTableView
是否正确?或者我应该将其定义为可选变量还是隐式解包的可选变量?
最佳答案
看起来 NSTableView
还没有完全现代化。它的 dataSource
属性仍然是非正式的,仅作为访问器方法存在,而不是使用 @property
声明的属性。因此,Swift 接口(interface)没有 dataSource
属性。它具有方法 dataSource()
和 setDataSource()
。
那么,试试:
myTable.setDataSource(self)
关于cocoa - 设置 TableView 的数据源时无法分配给此表达式的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24286923/