1

我正在使用下面的代码NSFetchedResultController

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"self.objRelationship.ObjectId == %@", objectFromOtherContext.ObjectId];
[fetchRequest setPredicate:predicate];

NSManagedObjectContext被使用的对象不同于NSFetchedResultControllerobjectFromOtherContextNSManagedObjectContext变量。不返回任何数据。但是,如果他们使用相同的.NSFetchedResultControllerNSManagedObjectContext

ObjectId如果 的NSManagedObjectContext与传递给谓词的NSFetchedResultController不同,有没有办法过滤?(假设对象已经保存在持久存储中)。NSManagedObjectContextNSManagedObject

4

1 回答 1

0

我今天遇到了这个问题。您不能在不同上下文中创建的谓词中使用对象,甚至不能使用它的 objectID。您需要先在要搜索的同一上下文中查询对象。或者,您可以尝试执行 [newContext objectWithID:objectFromOtherContext.ObjectId] 然后在谓词中使用它。

于 2015-12-08T12:36:40.993 回答