Swift: 'IN' 使用 NSPredicate 从 iCloud 获取记录的查询替代方案

Swift: 'IN' query alternative using NSPredicate for fetching records from iCloud

在 iCloud 中,我想在项目的 table 中搜索,我在 swift 中有 userId 列,但我不知道如何

Table:用户

UserId {String type}
UserName {String type}

Table: 项目

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);

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