使用枚举

时间:2016-05-12 19:45:49

标签: ios objective-c core-data enums

我需要对包含波斯语字母表的核心数据对象进行排序。我正在使用NSSSortDescriptor。不幸的是,Apple不支持波斯语字母表,并且排序不正确且基于波斯语字母表。我将在我的应用程序中将波斯字母定义为枚举,然后根据它对数据对象进行排序。请帮助如何根据预定义的顺序对数据对象进行排序。

NSSortDescriptor * sd = [NSSortDescriptor sortDescriptorWithKey:@“lastname”ascending:YES];

1 个答案:

答案 0 :(得分:0)

如果你使用的是基于SQLite的核心数据存储,那么这是不可能的。使用这种持久性存储,获取请求将转换为SQL并在SQLite中执行。但SQLite对您的应用中声明的枚举一无所知,因此无法使用它们。只有托管对象上的持久属性可用。如果您使用的是二进制持久性存储(NSBinaryStoreType),那么您可能会很幸运 - 但​​这有其他问题,例如Core Data会立即将整个持久性存储加载到内存中。

尽管如此,如果Apple不支持波斯语字母表,那将会非常非常令人惊讶。几乎所有与文本相关的内容现在都使用Unicode,因此几乎所有人类已知的书写系统都得到支持(即使是不再使用的古代系统)。有关详细信息,请查看Unicode 8.0 Character Code Charts - 应支持的所有内容。如果您在使用带有核心数据的波斯语字母时遇到问题,我建议您提一个新问题,详细说明您正在做什么(包括我们这些不熟悉您的人的示例文字字母表)以及出了什么问题。