Я написал метод для сохранения записей в пользовательской зоне, и он, кажется, работает как положено.Однако в одном я не уверен, что это CKRecord.ID
recordName
.Прямо сейчас я просто использую строку UUID
.Есть ли предпочтительный способ присвоения recordName
?Текущие примеры CloudKit довольно скудны, и кажется, что приличная часть документации CK устарела.Спасибо.
func saveToCloud(record: String, recordType: String, recordTypeField: String, reference: CKRecord?, referenceType: String?) {
let zoneID = CKRecordZone.ID(zoneName: Zone.test, ownerName: CKRecordZone.ID.default.ownerName)
let recordID = CKRecord.ID(recordName: UUID().uuidString, zoneID: zoneID)
let newRecord = CKRecord(recordType: recordType, recordID: recordID)
if let reference = reference, let referenceType = referenceType {
let newReference = CKRecord.Reference(record: reference, action: .none)
newRecord[referenceType] = newReference
}
newRecord[recordTypeField] = record
database.save(newRecord) { (_,error) in
if let err = error as? CKError {
print("ERROR =" , err.userInfo )
}
}
}