斯威夫特:' IN'使用NSPredicate查询替代方案从iCloud

时间:2015-11-18 08:35:14

标签: ios swift icloud

在iCloud 中,我想在商品表中搜索,我在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]

的数组

谢谢 -

1 个答案:

答案 0 :(得分:1)

试试这个;

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