编辑 NSTableView 并将输入存储为 NSNumber

发布于 2024-12-03 02:39:42 字数 271 浏览 0 评论 0原文

场景:基于单元格的 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

冬天旳寂寞 2024-12-10 02:39:42

您可以附加自定义子类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 as NSNumbers.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文