【发布时间】:2014-08-06 19:55:29
【问题描述】:
我正在尝试使用绑定在 Swift 中设置基于视图的表。我见过的所有示例都使用数据源/委托设置。
我有一个 Flag 对象数组,它有两个属性 - flagName:String 和 flagImage:NSImage。我有一个 NSArrayController 管理这个数组。
如果我设置一个基于单元格的表格,并将一列绑定到排列对象.flagImage,另一列绑定到排列对象.flagName,我得到一个显示图像和名称的表格,我可以使用数组控制器的添加和删除方法,所以我的数据源或阵列控制器没有问题。
我一直按照Apple's TableView Programming Guide 中的说明将我的基于视图的表绑定到我的数组控制器:
- tableView 内容绑定:FlagController.arrangedObjects
- textField 值绑定:TableCellView.objectValue.flagName
- imageView 值绑定:TableCellView.objectValue.flagImage
(IBs 自动完成对 objectValue.flagName 和 flagImage 的路径不满意;它认为不应该有任何完成,并说它无法解析路径,所以看起来问题出在tableView 的内容。)
如果我这样做,我的表有许多行,这些行对应于我的数组控制器当时管理的元素数量(我有两个简单的设置,一个对象与 50 个对象,所以很明显 something 被绑定)。我没有得到的是显示器;并且选择表格行似乎不会向我的 flagController 发送回消息。
我错过了什么?有没有人能够完成这项工作?到目前为止,我对 Swift 中的其他绑定没有任何问题,但我开始认为数据源示例的突然重现与此不无关系。
【问题讨论】:
标签: swift nstableview cocoa-bindings nsarraycontroller