首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSTableView排序问题(使用KVC)

NSTableView排序问题(使用KVC)
EN

Stack Overflow用户
提问于 2011-02-13 10:19:32
回答 1查看 455关注 0票数 1

我在NSTableView sort上遇到了一个奇怪的问题。

我创建了一个简单的应用程序与NSTableView,其中有4列。然后,我使用KVC将其绑定到一个Array控制器。

然后,我向NSMutableArray添加了一些数据。

Bulid&&运行应用程序,我可以看到表中的数据,通过单击标题,可以正确地对数据进行排序。

到目前为止,一切都很好。

然后,我尝试将"caseInsensitiveCompare“添加到每一列。因此,我打开IB,为每一列设置排序关键字和选择器("caseInsensitiveCompare:")。

然后Bulid&&运行应用程序,但当我单击标题进行排序时,我收到了错误消息:

代码语言:javascript
复制
-[NSCFNumber caseInsensitiveCompare:]: unrecognized selector sent to instance 0x1006254f0
-[NSCFNumber caseInsensitiveCompare:]: unrecognized selector sent to instance 0x1006254f0
......

然后,我尝试删除每个列的排序关键字和选择器中的所有内容。这个应用程序又变得正常了。

什么地方出问题了?我真的很困惑..。

ps:如果我使用compare:而不是caseInsensitiveCompare:,一切都会正常工作……

EN

回答 1

Stack Overflow用户

发布于 2013-07-18 12:44:32

NSMutableArray中对象的其中一个值(如属性或键)属于NSNumber类。因为这个类处理数字,所以它不响应caseInsensitiveCompare:选择器。此选择器对NSString有意义。

表视图中显示数值的列应该继续使用compare:对值进行排序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4982021

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档