NSPredicate 与 OR 返回错误
NSPredicate with OR returning error
我对以下谓词有疑问:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(creatorUserRecordID == %@) OR (toUser == %@)", userId, userId];
当我在查询 CKQuery *query = [[CKQuery alloc] initWithRecordType:@"Message" predicate:predicate];
中使用它时,出现错误:'CKException',原因:'Unexpected expression'.
当我像这样分别使用这两个时:
NSPredicate *predicate1 = [NSPredicate predicateWithFormat:@"(creatorUserRecordID == %@)", userId];
NSPredicate *predicate2 = [NSPredicate predicateWithFormat:@"(toUser == %@)", userId];
然后使用这些谓词之一执行查询它工作正常。我也试过使用 NSCompoundPredicate 但结果总是一样的......有什么想法吗?
CKQuery
的文档列出了所有有效的谓词语法。奇怪的是,在 "Basic compound predicates" 下它列出了 NOT
、AND
和 &&
。 OR
和 ||
未列出,显然不支持 CloudKit 查询谓词。
我对以下谓词有疑问:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(creatorUserRecordID == %@) OR (toUser == %@)", userId, userId];
当我在查询 CKQuery *query = [[CKQuery alloc] initWithRecordType:@"Message" predicate:predicate];
中使用它时,出现错误:'CKException',原因:'Unexpected expression'.
当我像这样分别使用这两个时:
NSPredicate *predicate1 = [NSPredicate predicateWithFormat:@"(creatorUserRecordID == %@)", userId];
NSPredicate *predicate2 = [NSPredicate predicateWithFormat:@"(toUser == %@)", userId];
然后使用这些谓词之一执行查询它工作正常。我也试过使用 NSCompoundPredicate 但结果总是一样的......有什么想法吗?
CKQuery
的文档列出了所有有效的谓词语法。奇怪的是,在 "Basic compound predicates" 下它列出了 NOT
、AND
和 &&
。 OR
和 ||
未列出,显然不支持 CloudKit 查询谓词。