按记录名称获取多个记录

时间:2017-02-20 07:35:17

标签: ios swift database cloudkit ckrecord

我有一组记录名称(或字符串)。我想获取具有任何这些记录名称的公共数据库中的任何记录。我怎么能这样做?

2 个答案:

答案 0 :(得分:3)

你应该应用这样的东西......

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

答案 1 :(得分:0)

签出Object toRemove = arrayAdapter.getItem([POSITION]); arrayAdapter.remove(toRemove);

您没有提供代码示例,但是如果您有recordID作为字符串数组,则:

arrayList.remove([INDEX]);
arrayAdapter.notifyDataSetChanged();