iPhone - 带有 localizedCaseInsensitiveCompare 的 NSSortDescriptor 给出了特殊字符的错误结果

发布于 2024-10-30 06:34:03 字数 379 浏览 4 评论 0原文

我对 NSFetchedResultsController (核心数据)的 NSSortDescriptor 有问题。我在数据库中存储了斯洛文尼亚语的名称(包括 č ć ž š),但它们的排序不正确。

如果我只使用 caseInsensitiveCompare,则带有特殊字符的名称将放在表的末尾。如果我使用 localizedCaseInsensitiveCompare,结果几乎是正确的,但忽略特殊字符并将其与普通字符进行比较。

示例(不正确): 斯洛文尼亚 索拉 索拉塔 索佩克

正确: 斯洛文尼亚 索拉塔 索拉 Šopek

关于如何解决这个问题有什么想法吗?哦,顺便说一句 - 我在国际赛中选择了斯洛文尼亚语 ->设置中的区域格式部分。

谢谢, 朱雷

i have a problem with NSSortDescriptor for NSFetchedResultsController (Core Data). I have names stored in the db in Slovenian language (including č ć ž š) and they're not being sorted correctly.

If I only use caseInsensitiveCompare, the names with special chars are put at the end of the table. If I use localizedCaseInsensitiveCompare, the result is almost correct, but is ignoring the special char and comparing it as a normal one.

Example (incorrect):
Slovenia
Šola
Solata
Šopek

Correct:
Slovenia
Solata
Šola
Šopek

Any ideas on how to solve this? Oh, by the way - I have Slovenian language selected in the International -> Region Format part in Settings.

Thanks,
Jure

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文