Сохранение CKRecordID в CloudKit

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

Не удается преобразовать значение типа 'CKRecordID?' к ожидаемому типу аргумента "CKRecordValue?"

Объявление текущего выбранного пользователя:

var currentlySelectedUser: CKRecordID?

Извлечение текущего выбранного пользователя в другой CKQuery:

self.currentlySelectedUser = record.creatorUserRecordID

Сохранение текущего выбранного пользователя:

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

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

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

1 ответ

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

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

myRecord["toUser"] = CKReference(recordID: currentlySelectedUser!, action: .None)
Другие вопросы по тегам