2016-07-19 3 views
1

У меня есть CKRecordID, который мне нужно сохранить в CloudKit в качестве ссылки. Однако, когда я пытаюсь сохранить его, я получаю следующее сообщение об ошибке:Сохранение CKRecordID в CloudKit

Cannot convert value of type 'CKRecordID?' to expected argument type 'CKRecordValue?'

Декларация currentlySelectedUser:

var currentlySelectedUser: CKRecordID? 

Извлечение currentlySelectedUser в другом CKQuery:

self.currentlySelectedUser = record.creatorUserRecordID 

Сохранение currentlySelectedUser:

myRecord.setObject(currentlySelectedUser, forKey: "toUser") 

Ошибка возникает на третьей строке кода.

Как сохранить этот CKRecordID в качестве ссылки в другой записи CloudKit?

+2

Обновить свой вопрос с соответствующим кодом и указать точную линию вызывает ошибку. – rmaddy

+0

@rmaddy Я обновил вопрос с соответствующими строками кода – user4174219

ответ

2

Вы пытаетесь добавить CKRecordID, который не является типом данных, поддерживаемым CKRecord. Как говорит ошибка, оно не соответствует протоколу CKRecordValue.

Создать CKReference и добавить его так:

myRecord["toUser"] = CKReference(recordID: currentlySelectedUser!, action: .None) 
Смежные вопросы