编辑 NSTableView 并将输入存储为 NSNumber
场景:基于单元格的 NSTableView 的列绑定到数组控制器中的字典键。当用户双击一个单元格时,它会以正常方式进行编辑——所有这些都具有表视图和数组控制器的默认功能。
只要每行的字典将字符串作为各个键的值,就可以正常工作。
如果我在字典中将值设置为 NSNumber
,它会正确显示,但在编辑时它会设置为 NSString
。
设置表视图、数据源、委托和数组控制器以确保将值更新为与编辑之前使用的类相同的新对象的最佳方法是什么?
Scenario: A cell-based NSTableView
has columns bound to keys of dictionaries from an array controller. When the user double clicks a cell, it is edited in the normal way -- all with the default functionality of table views and array controllers.
This works fine as long as the dictionaries for each row hold strings as values for the various keys.
If I set a value to an NSNumber
in the dictionaries, it is displayed correctly, but upon editing it gets set to an NSString
.
What would be the best way to set up the table view, data source, delegate, and array controller to ensure that the values are updated to new objects of the same class as was used before the editing?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以附加自定义子类的
NSValueTransformer
到表列,以确保列中的值始终保存为NSNumbers
。You can attach a custom subclass of
NSValueTransformer
to the table column to ensure that the values in the column are always saved asNSNumbers
.