2017-09-06 3 views
1

스위프트 3.1에 여러 CKRecords 가리키며는, 참조 목록 CloudKit

엑스 코드 8.3.3을 만들어이 CloudKit의 레코드 유형은 Aircraft라고하고는 필드 유형 Reference List이다 fieldValues라고 있습니다.

내 코드에는 aircraft CKRecord와 항공기의 자식 인 CKRecord가 여러 개 있습니다().

모든 fieldValue 레코드를 aircraft의 참조 목록에 넣으려면 어떻게해야하나요?

let reference = CKReference(record: fieldValueRecord, action: .deleteSelf) 

을하지만 하나의 aircraft 많은 fieldValue들에 연결하기 위해 노력하고있어 :

CKReference가 만에 하나의 기록을 할 수 있도록 나타납니다 만들기. 어떤 아이디어?

답변

0

스위프트 3.1, 시행 착오 후

엑스 코드 8.3.3, 나는 마침내 그것을 알아 냈어. 다음과 같이 바뀝니다.

//Parent record (Aircraft) 
let recordAircraft = CKRecord(recordType: "Aircraft", recordID: ...) 

//Add child references (FieldValue). As far as I know, the child records must have already been created and sent to CloudKit 
var fieldValueReferences = [CKReference]() 

for fieldValue in fieldValues{ 
    let ref = CKReference(record: fieldValue, action: .deleteSelf) 
    fieldValueReferences.append(ref) 
} 

//Assign the array of references to the key that represents your Reference List field 
recordAircraft["fieldValues"] = fieldValueReferences as CKRecordValue 

다른 사람들에게 도움이되기를 바랍니다.