Iphone 获取程序Id在对多关系中退出的所有用户

Iphone 获取程序Id在对多关系中退出的所有用户,iphone,objective-c,core-data,Iphone,Objective C,Core Data,我有两个实体用户和学生程序。与学生程序实体具有程序关系的用户实体。programId是学生程序实体中的键。我想获取所有程序ID为1和2的用户。我有一个数组中的所有用户,并希望在该数组中应用筛选器。为此,我使用NSPredicate谓词=[NSPredicate predicateWithFormat:@ANY programs.programId IN 1,2];但是 获取以下异常: Terminating app due to uncaught exception 'NSInvalidArgu

我有两个实体用户和学生程序。与学生程序实体具有程序关系的用户实体。programId是学生程序实体中的键。我想获取所有程序ID为1和2的用户。我有一个数组中的所有用户,并希望在该数组中应用筛选器。为此,我使用NSPredicate谓词=[NSPredicate predicateWithFormat:@ANY programs.programId IN 1,2];但是

获取以下异常:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Unable to parse the format string "((ANY programs.programId IN (
        1,
        2
    )))"'
    *** First throw call stack:
    (
        0   CoreFoundation                      0x02b5b5e4 __exceptionPreprocess + 180
        1   libobjc.A.dylib                     0x028178b6 objc_exception_throw + 44
        2   Foundation                          0x01f2a2bc _qfqp2_performParsing + 9399
        3   Foundation                          0x01f27d9a +[NSPredicate predicateWithFormat:arguments:] + 71
        4   Foundation                          0x01f27d4e +[NSPredicate predicateWithFormat:] + 50
        5   iWISESuperAdmin                     0x0015c8b4 -[MemberProgramView searchBtnPressed:] + 644

谓词中的括号不匹配。并与一个数组或一组值进行比较, 使用%@扩展的错误率要小得多:

NSArray *wantedIds = @[@1, @2];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY programs.programId IN %@", wantedIds];

你的问题在哪里?你的密码在哪里?这只是一个格式错误的崩溃日志。看起来你在predicateWithFormat中犯了一个错误:但是你需要在你的问题中包括这个。你好,Jrturton,我有两个实体用户和学生程序。与学生程序实体具有程序关系的用户实体。programId是学生程序实体中的键。我想获取所有程序ID为1和2的用户。我有一个数组中的所有用户,并希望苹果过滤器在该数组中。为此,我使用NSPredicate谓词=[NSPredicate predicateWithFormat:@ANY programs.programId IN 1,2];在你的Q下面有一个编辑按钮。使用它。