【发布时间】:2011-07-22 23:27:20
【问题描述】:
我的对象图是这样的
SnapShot -->> 窗格 --> ManagedImage
我正在尝试找到一个 SnapShot,其中包含的确切 ManagedImages 包含在集合中。
我现在得到的代码返回一个快照数组,其中包含一个或多个集合中的 ManagedImage。然后我在数组中搜索以找到正确的快照,但我猜在子查询中过滤会快得多
使用 NSPredicate 如何获得具有集合中所有 ManagedImages 的唯一 SnapShot?
这是我的代码
mySet = ... // A unique set of (usually 3) managedImages that I'm trying to find a snapShot for
NSFetchRequest *request = ...
request.entity = [NSEntityDescription entityForName:@"SnapShot" inManagedObjectContext:[self managedObjectContext]];
// Want this to work but sends an exception
//request.predicate = [NSPredicate predicateWithFormat:@"SUBQUERY(self.panes, $pane, ALL $pane.managedImage IN %@).@count != 0", mySet];
// Using this
request.predicate = [NSPredicate predicateWithFormat:@"SUBQUERY(self.panes, $pane, $pane.managedImage IN %@).@count != 0", mySet];
【问题讨论】:
标签: ios core-data nspredicate