CloudKit에 다른 객체 배열이 포함 된 객체를 저장하는 방법에 대해 혼란스러워합니다.CloudKit에서 객체 배열 저장
다른 컬렉션이있는 할부 목록 앱이 있습니다. 전체 아이템 컬렉션을 저장/가져 오는 방법은 무엇입니까?
"이름"이라는 문자열 속성과 "항목"이라는 참조 목록 속성이있는 레코드 유형의 컬렉션이 있습니까?
RecordKit이 Child 객체에서 부모로 참조하는 방식 때문에 Item의 Record 유형에 "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)
}
}
}
다른 옵션은 컬렉션을 저장하여 항목의 인스턴스없이 컬렉션을 저장 관리하며, 개별적으로 사람들을 저장 한 자신의 Collection 속성을 참조하여 CloudKit 쪽에서 연결을 만들지 만, 너무 많은 네트워크 호출처럼 보입니다.
컬렉션의 항목 순서를 어떻게 보장합니까? 나는 항목을 가져올 때 저장 될 때와 다른 순서로 도착할 것입니다 ... –
다음과 같은 정렬 순서를 추가 할 수 있습니다 : query.sortDescriptors = [NSSortDescriptor (key : "creationDate", 오름차순 : false)] –
네,하지만 배열을 가져올 때마다 정렬을 적용하지 않고 사용자가 설정 한대로 배열의 순서를 유지해야합니다. –