ios - 如何一次更改核心数据中所有实体的属性值?

标签 ios core-data nsfetchrequest nsfetchedresultscontroller

我正在构建具有“ list ”功能的应用程序。 list 项存储为核心数据实体。数据模型中还有一个“checked”属性存储为 BOOL。处理此 list 功能的 View Controller 基于 UITableViewController。

基本上,我想实现UIRefreshControl,它允许用户重置核心数据中所有 list 实体的“已检查”状态。例如,一旦用户下拉 UITableView,所有项目都将被重置并显示为“未选中”。

但是,NSFetchedResultsController 仅通过[fetchedResultsController objectAtIndexPath:indexPath] 一次提供对一个实体的访问。有没有办法从核心数据中获取实体的整个集合作为 NSArray 或 NSDictionary 因此我可以枚举所有实体并更改它们的“已检查”属性?

最佳答案

同意回溯...假设您想从名为“Test”的实体中获取所有对象:

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Test"
                                          inManagedObjectContext:context];
NSError *error;
[fetchRequest setEntity:entity];
NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:&error];

获取对象数组包含“Test”实体中的所有对象

关于ios - 如何一次更改核心数据中所有实体的属性值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14936416/

相关文章:

ios - 无法找到对象在数组中的位置?

ios - 更改 CoreData 记录,SwiftUI

swift - NSfetchRequest 不返回任何内容

ios - 如何在WKWebview中添加观察者来播放和暂停音频文件的 Action ?

ios - Storyboard中的 ScrollView 不滚动

ios - NSFetchedResultsController 没有收到新对象

ios - 在 iOS 中从 xcdatamodel 访问 FetchRequest

swift - 比较 Fetchrequest Xcode Swift OSX Core Data Predicate 中的 NSSet

ios - 如何评估类中每个函数的时间

iOS Swift 不支持的 URL