【发布时间】:2019-09-26 16:59:19
【问题描述】:
我正在尝试为我的 UITableViewController 使用 NSFetchedResultsController(FRC),因为我喜欢 FRC 附带的功能,而不是尝试手动管理我的 UITableView
我的问题是我的表格视图需要有一个过滤器,如果不使用不适用于我的 FRC See Related Post的“predicateWithBlock”,我的过滤器就无法轻松完成。
所以我现在要做的是专门为我的 FRC 创建一个上下文,然后只将我想在我的 FRC 中显示的对象添加到这个单独的上下文中。这样我的 FRC 就不需要过滤任何东西,它只需要将对象直接拉出这个临时上下文。
所以我的问题是如何创建这个“子”上下文?这是个好主意吗?
我尝试创建一个空上下文,然后从主上下文插入对象,但尝试手动将 NSManagedObjects 从一个上下文复制到另一个上下文看起来并不简单。我想知道是否有更好的方法来创建我缺少的子集?
NSMangedObjectContext * myFRCContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSMainQueueConcurrencyType];
NSArray * managedFoobarObjectsToInsert = [myRealContext getFoobarObjects];
for(id managedObject in managedObjectsToInsert) {
if([managedObject passesFilterConditions])
//...now what?
}
【问题讨论】:
-
总的来说我同意,但在这种情况下模型设计不取决于我
标签: ios objective-c core-data nsmanagedobjectcontext