CoreData 本地化排序

问题描述

我需要对包含特殊国家字符的 CoreData 实体中的数据进行排序。我有 NSSortDescriptor 如下

let sorting = [NSSortDescriptor(keyPath: \Books.bokName,ascending: true)]
    

在这里找到提示iPhone CoreData - How to fetch managed objects,and sorting them ignoring case? 不幸的是,XCode 12.3 中包含的较新版本的 Swift 似乎不再支持选择器参数。我还有哪些其他选择?

解决方法

好吧,我意识到我必须使用

NSSortDescriptor(key: "bokName",ascending: true,selector: #selector(NSString.localizedStandardCompare))

而不是使用 keyPath 初始化。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...