2017-02-20 54 views
-3

我有一个记录名称(或字符串)的数组。我想在公共数据库中获取具有任何这些记录名称的任何记录。我该怎么做?通过记录名称获取多条记录

+5

某种形式的代码大概是?你有没有尝试写一些? –

回答

2

您应该应用这样的事情...

let filter: [String] = [ "String1", "String2", "String3" ] 

let predicate: NSPredicate = NSPredicate(format: "%k IN %@", "record_name", filter) 
let query: CKQuery = CKQuery(recordType: "RecordType", predicate: predicate) 

CKContainer.default.publicCloudDatabase.perform(query, inZoneWith: nil, completionHandler: { @escaping ([CKRecord]?, Error?) -> Void in 
    // Do what you want with your filtered CKRecords ;) 
}) 

NSPredicate使用聚合操作IN,以便通过一个数组的内容进行过滤。更多信息在Predicate Programming Guide