2015-10-02 26 views
8

Yüklediğim, önceden yüklenen ve [CKRecordID] içinde bulunan bazı kayıtları dışlamak istemektedir. Şimdi 1 CKRecordID [0] 'ı sorgulayabilirim, [CKRecordID] dizisini değil. Diziyi nasıl sorgulayabilirim?KayıtKimliği için CloudKit nasıl sorgulanır? IN [CKRecordID]

let pred1 = NSPredicate(format: "NOT(recordID = %@)", excludeIDs[0]) 

Ama bu değil:

let excludeIDs: [CKRecordID] 

Bu işleri

let pred1 = NSPredicate(format: "NOT(recordID IN %@)", excludeIDs) 

HATA: loadImageCompareRecordIDsAndEndDateThatHaveNotEnded Hata: Geçersiz yüklem: Geçersiz yüklem: Dizi üyeleri CKRecordValue uymalıdır: ( "", "", "", "" , "" ) (CKRecordID)

genel kod parçaları:

let sort = NSSortDescriptor(key: "creationDate", ascending: false) 
    let query = CKQuery(recordType: MyRecordTypes.ImageCompare, predicate: pred1) 
    query.sortDescriptors = [sort] 
    let operation = CKQueryOperation(query: query) 
    operation.desiredKeys = ["endDate"] 
    operation.resultsLimit = 50 

cevap

8

[CKReference] olup [CKRecordID] o çözüldü kullanılması.

+1

Teşekkürler, garip CKRecordID tek karşılaştırmalar için çalışır – malhal

+0

Bir kod örneği verebilir misiniz? –

+1

@SamBallantyne Kayıt kimliğinizi, refs = myRecords.map ({CKReference (recordID: $ 0.record.recordID, action: .None)}) gibi CKReferences'a dönüştürün – DogCoffee

İlgili konular