繁体   English   中英

如何对NSString的NSTableColumn进行排序而忽略“ The”和“ A”?

[英]How can I sort an NSTableColumn of NSStrings ignoring “The ” and “A ”?

我有一个正在使用的简单Core Data应用程序,用于显示我的电影收藏。 我正在使用NSTableView ,它的列通过NSArrayController对象绑定到我的Core Data存储的属性。 此时,当单击列标题时,这些列将很好地排序(对于数字值)。

我遇到的问题是字符串排序,它们进行排序,但是它是以标准字符串方式完成的,大写字母在小写字母之前(即Z在a之前)。 除了使大小写排序正常工作外,我还希望在对字符串进行排序时能够忽略前缀“ The”或“ A”。

在Objective-C / Cocoa中解决此问题的最佳方法是什么?

在Interface Builder中,将每个表列的“ Sort Key字段设置为与要应用于托管对象的sortDescriptor相对应。

对于您要忽略“ A”和“ the”的每一列,您必须在托管对象上创建一个额外的方法。 如果您要排序的属性是title ,则创建一个名为cleanedTitle的新方法,该方法主要使用[self title]cleanedTitle “ a”和“ the”。 然后在Interface Builder中,告诉您的表列使用cleanedTitle排序键,而不是title排序键。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM