OStack程序员社区-中国程序员成长平台

标题: objective-c - 对 Core Data 中的特定部分进行排序 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 18:36
标题: objective-c - 对 Core Data 中的特定部分进行排序

我正在使用 NSFetchedResultsController 来填充我的应用程序的 tableView,它是按部分分组的(在这种情况下,我的核心数据对象中的类别属性)我想手动重新排序部分,而不是按字母顺序。

下面是我到目前为止所做的代码

- (NSFetchedResultsController *)fetchedResultsController {

if (_fetchedResultsController != nil) {
    return _fetchedResultsController;
}

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription 
                               entityForName"Media" inManagedObjectContext:_context];
[fetchRequest setEntity:entity];

NSSortDescriptor *sort = [[NSSortDescriptor alloc] 
                          initWithKey"category" ascending:NO];
[fetchRequest setSortDescriptors:[NSArray arrayWithObject:sort]];

[fetchRequest setFetchBatchSize:20];

NSFetchedResultsController *theFetchedResultsController = 
[[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest 
                                    managedObjectContext:_context sectionNameKeyPath"category" 
                                               cacheName"Root"];
self.fetchedResultsController = theFetchedResultsController;
_fetchedResultsController.delegate = self;

return _fetchedResultsController;    

}

提前致谢!



Best Answer-推荐答案


如果任务是提供部分的自定义顺序,那么您可以继承 NSFetchedResultsController 并实现

- (NSInteger)sectionForSectionIndexTitleNSString *)title atIndexNSInteger)sectionIndex;

如果需要的话

@property (nonatomic, readonly) NSArray *sectionIndexTitles;
- (NSString *)sectionIndexTitleForSectionNameNSString *)sectionName;

关于objective-c - 对 Core Data 中的特定部分进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8559858/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4