Tôi đang bối rối về cách lưu một đối tượng có chứa một mảng các đối tượng khác trong CloudKit.Lưu một mảng các đối tượng trong CloudKit
Giả sử tôi có ứng dụng danh sách việc cần làm, có các bộ sưu tập các mục khác nhau. Làm thế nào tôi sẽ đi về tiết kiệm/lấy một bộ sưu tập toàn bộ các mặt hàng?
Tôi có một loại Bản ghi bộ sưu tập, thuộc tính chuỗi có tên "Tên" không, sau đó Thuộc tính danh sách tham chiếu được gọi là "Mục"?
Tôi biết rằng loại Bản ghi mục cần có Thuộc tính tham chiếu được gọi là "Bộ sưu tập", vì cách CloudKit tham chiếu từ đối tượng con đến đối tượng mẹ của nó.
tôi đã quản lý để tiết kiệm một Bộ sưu tập mà không cần bất kỳ trường hợp khoản với đoạn mã sau
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)
}
}
}
Các tùy chọn khác là khi tiết kiệm một Bộ sưu tập, để lặp qua tất cả các trường hợp của Item và cũng tiết kiệm những cá nhân, họ Tham chiếu thuộc tính cho Bộ sưu tập tạo kết nối ở phía CloudKit, nhưng điều này có vẻ như quá nhiều cuộc gọi mạng.
Bạn đảm bảo thứ tự các mặt hàng trong bộ sưu tập như thế nào? Tôi sợ rằng khi tìm nạp các mục, chúng sẽ đến theo thứ tự khác với khi chúng được lưu ... –
Bạn có thể thêm thứ tự sắp xếp như sau: query.sortDescriptors = [NSSortDescriptor (key: "creationDate", tăng dần: false)] –
Có nhưng tôi cần phải giữ thứ tự của mảng như được thiết lập bởi người sử dụng, không áp dụng một sắp xếp mỗi khi tôi lấy mảng. –