Swift:’IN’查询替代方法,使用NSPredicate从iCloud获取记录

在iCloud中 ,我想在Item的表中搜索,我在swift中有userId列,但我不知道如何

表:用户

UserId {String type} UserName {String type} 

表:项目

 ItemId {String type} ItemName {String type} UserId {String type} 

我需要NSPredicate替代此查询

 Select * from item where userId in (2,3,4) 

另外,有什么办法可以直接在iCloud中激活sql查询吗?


这是在Swift中执行上述操作的正确方法吗?

 var orList = [NSPredicate]() orList.append(NSPredicate(format: "userId = %i", 2)) orList.append(NSPredicate(format: "userId = %i", 3)) orList.append(NSPredicate(format: "userId = %i", 4)) 

或者有没有办法传递[2,3,4]的数组

谢谢-

尝试这个;

 let usrIds:[Int] = [1,2,3]; let predicate:NSPredicate = NSPredicate(format: "userId IN %@", usrIds); 

REF。 https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Predicates/Articles/pUsing.html