我正在实施支持多个本地化的自定义联系人应用程序,现在我仍然坚持中文字符排序和索引,我看过几个堆栈溢出博客,人们建议使用UILocalizedIndexedCollation来解决这个问题问题,但由于FRC没有很好地连接到UILocalizedIndexedCollation,它们都没有工作因此当我在设备上从中文模式切换回英语模式时我看到没有数据。我使用瞬态属性来解决这个问题它在中文模式下工作并且失败设备处于英语模式时获取数据。
-(NSString *)sectionIdentifier {
[self willAccessValueForKey:@"sectionIdentifier"];
NSUInteger index = [[UILocalizedIndexedCollation currentCollation] sectionForObject:self
collationStringSelector:@selector(name)];
NSString *sectionId = [[[UILocalizedIndexedCollation currentCollation] sectionTitles] objectAtIndex:index];
NSLog(@"secKey = %@, value = %@", sectionId, self.name);
[self didAccessValueForKey:@"sectionIdentifier"];
return sectionId;
}