如何按字母顺序对列表进行排序,包括HTML标记

时间:2012-08-06 09:29:11

标签: ios sorting nsfetchedresultscontroller nssortdescriptor

当文本包含HTML标记时,如何使用NSFetchedResultsController按字母顺序对列表进行排序。

例如,我必须对此进行排序:

- <b>Hello</b>
- Adam

结果应为:

- Adam
- <b>Hello</b>

这就是我现在的排序方式:

sortString = [[NSString alloc] initWithString:@"title"];

NSSortDescriptor *sortDescriptor2 = [[[NSSortDescriptor alloc] initWithKey:sortString ascending:sortAsc selector:@selector(localizedCaseInsensitiveCompare:)] autorelease];
NSArray *sortDescriptors = [[[NSArray alloc] initWithObjects:sortDescriptor, sortDescriptor2, nil] autorelease];
[fetchRequest setSortDescriptors:sortDescriptors];  

那么,有没有办法对“拆分”进行排序?

1 个答案:

答案 0 :(得分:0)

是的,有一种方法:用你自己的选择器构造一个专门的NSSortDescriptor。由于NSString有标准的方法来做你想要的,你需要在NSString上创建一个名为“compareWithHTML:”的类别,它剥离HTML并使用“compare:”或“localizedCompare:。

进行比较。