Ios 无法编译嵌套子查询的NSPredicate(核心数据)

Ios 无法编译嵌套子查询的NSPredicate(核心数据),ios,objective-c,core-data,subquery,nspredicate,Ios,Objective C,Core Data,Subquery,Nspredicate,我的CoreDate数据库的相关部分 Category<-->>Subcategory<-->>Gym<<-->>Membership 编译器对于问题的根源毫无帮助。我已经重写这个谓词10多次了,有什么能找出我遗漏了什么吗?混合使用stringWithFormat和predicateWithFormat很容易出错,因为引用 逃逸规则是不同的。这可能有效(未经测试!): 混合使用stringWithFormat和predicateWit

我的CoreDate数据库的相关部分

Category<-->>Subcategory<-->>Gym<<-->>Membership

编译器对于问题的根源毫无帮助。我已经重写这个谓词10多次了,有什么能找出我遗漏了什么吗?

混合使用
stringWithFormat
predicateWithFormat
很容易出错,因为引用 逃逸规则是不同的。这可能有效(未经测试!):


混合使用
stringWithFormat
predicateWithFormat
容易出错,因为引用 逃逸规则是不同的。这可能有效(未经测试!):


混合使用
stringWithFormat
predicateWithFormat
容易出错,因为引用 逃逸规则是不同的。这可能有效(未经测试!):


混合使用
stringWithFormat
predicateWithFormat
容易出错,因为引用 逃逸规则是不同的。这可能有效(未经测试!):


我不知道!工作得很有魅力。我猜当你试图变得太聪明的时候就会发生这种情况:)我不知道!工作得很有魅力。我猜当你试图变得太聪明的时候就会发生这种情况:)我不知道!工作得很有魅力。我猜当你试图变得太聪明的时候就会发生这种情况:)我不知道!工作得很有魅力。我猜当你试图变得太聪明的时候就会发生这种情况:)
NSString *shopsSubquery = [NSString stringWithFormat:@"(SUBQUERY($y.programs,$z, $z.uid IN %@).@count > 0)",activeProgramsUIDsArray];
NSString *subcategorySubquery = [NSString stringWithFormat:@"(SUBQUERY($x.gyms,$y, %@).@count > 0)",shopsSubquery] ;
predicate = [NSPredicate predicateWithFormat:@"(SUBQUERY(subcategories, $x, %@).@count > 0)", subcategorySubquery]; 
[NSPredicate predicateWithFormat:@"SUBQUERY(subcategories, $x, SUBQUERY($x.gyms, $y, ANY $y.programs.uid IN %@).@count > 0).@count > 0", activeProgramsUIDsArray];