我有一个 Word : NSManagedObject 子类,我试图按单词的第一个字母进行分组。然后在每个部分中,我尝试按长度属性进行排序,同时在单词具有相同长度时保持字母数字排序。所以它看起来像
一句话
- 苹果长度 = 5
- 斧头长度 = 3
- 长度 = 2
乙字
- 祸根长度 = 4
- 船长 = 4
- 袋长 = 3
所以我先初始化一个新的 NSFetchRequest。然后我添加我的排序描述符,首先按值排序(只是单词),然后按长度排序。最后初始化我的 fetchedResultsController 并使用 group 值按第一个字母对它们进行分组。这是我的代码,但我没有得到想要的结果。任何帮助将不胜感激。
@interface Word : NSManagedObject
@property (nonatomic, retain) NSString * value;
@property (nonatomic, retain) NSString * group;
@property (nonatomic, retain) NSNumber * length;
@end
NSFetchRequest *request = [[NSFetchRequest alloc] initWithEntityName:@"Word"];
request.sortDescriptors = [NSArray arrayWithObjects:[NSSortDescriptor sortDescriptorWithKey:@"value" ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)],
[NSSortDescriptor sortDescriptorWithKey:@"length" ascending:NO], nil];
self.fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:request
managedObjectContext:self.wordDatabase.managedObjectContext
sectionNameKeyPath:@"group"
cacheName:nil];