我對如何最好地保存包含CloudKit中其他對象數組的對象感到困惑。保存CloudKit中的對象數組
說我有一個todo list應用程序,它具有不同的項目集合。我將如何去保存/提取一整套物品?
我有一個記錄類型的集合,它將有一個名爲「Name」的字符串屬性,然後是一個名爲「Items」的引用列表屬性?
由於CloudKit從子對象引用父對象,我知道Record類型的Item需要有一個名爲「Collection」的引用屬性。
我已經通過項目的所有實例設法挽救一個集合,而不項目的任何實例用下面的代碼
func addCollection(collection: Collection!, completion: (error: NSError!) ->()) {
if collection == nil
return
}
let collectionRecord = CKRecord(recordType: "Collection")
CollectionRecord.setObject(collection.name, forKey: "Name")
privateDB.saveRecord(collectionRecord) {
record, error in
dispatch_async(dispatch_get_main_queue()) {
completion(error: error)
}
}
}
另一種選擇保存集合時,循環也保存這些個人,他們的引用屬性到集合在CloudKit端進行連接,但這看起來好像太多網絡調用。
如何保證集合中物品的順序?恐怕在提取物品時,它們會以與保存時不同的順序到達...... –
您可以添加如下排序順序:query.sortDescriptors = [NSSortDescriptor(key:「creationDate」,升序:假)] –
是的,但我需要保持由用戶設置數組的順序,而不是每次我獲取數組時應用排序。 –