gpt4 book ai didi

ios - 使用 UITableView 和 NSOrderedSet 进行核心数据排序

转载 作者:技术小花猫 更新时间:2023-10-29 11:04:04 28 4
gpt4 key购买 nike

要在 UITableViewController 中以 Core Data 作为后备存储实现用户定义的排序,我需要执行哪些步骤?

我还需要响应 -tableView:moveRowAtIndexPath:fromIndexPath:toIndexPath: 还是由 TableView 自动处理模型重新排序?我可以只选中 Core Data 模型文件中的“Ordered”复选框并期望它将更改从 TableView 传输到商店,还是我必须做更多的事情?我是否必须更改我的 fetchedResultsController 获取其对象的方式(例如添加排序描述符)?

最佳答案

您不需要放弃 NSFetchedResultsController 或 NSOrderedSet。如果你坚持使用 NSOrderedSet,最简单的方法就是向你的对象 NSManagedObject 子类添加一个方法。因此,例如,如果您有一个包含有序章节集的对象 Book,则可以向 Chapters 对象添加一个方法:

- (NSUInteger)indexInBookChapters
{
NSUInteger index = [self.book.chapters indexOfObject:self];
return index;
}

提示:将其添加到类别中,这样它就不会被 CoreData 自动生成的代码覆盖。

然后您可以在 NSFetchedResultsController 的排序描述符中使用此方法:

fetchRequest.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"indexInBookChapters" ascending:YES]];

关于ios - 使用 UITableView 和 NSOrderedSet 进行核心数据排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9875557/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com