Установить ссылочное значение в swift для базы данных CloudKit - PullRequest
0 голосов
/ 05 февраля 2019

Я пытаюсь установить какое-то значение для записи в моей базе данных CloudKit.У меня нет проблем, чтобы установить любой другой вид значения в других полях, таких как строка или int, но для Ссылка filedname (storyid) я получаю эту ошибку:

"недопустимая попытка установить тип значения STRING для поля'storyid' для типа 'Storypage', определяемого как: REFERENCE "

func saveToCloud(note: String)
{

 let newpage = CKRecord (recordType: "Storypage")

 newpage.setValue(note, forKey: "pagecontent")

 newpage.setValue("UTENTE1", forKey:"username" )

 newpage.setValue("84EC8E60-1467-6411-5CDC-7E85DDB51C89", forKey: "storyid")

 database.save(newpage) { (record, error) in
 guard record != nil else {return}

}

1 Ответ

0 голосов
/ 08 февраля 2019

В поле ссылки хранится объект CKReference , а не строка:

Ссылка на другую запись

Чтобы связать записи вместеи создайте между ними прочные отношения, создайте новый объект CKReference, инициализируйте его с записью владельца и назначьте этот ссылочный объект полю принадлежащей записи.Когда вы создаете отношения между своими записями, сделайте владельца более важным из двух связанных записей.

Итак, вы захотите получить идентификатор записи той записи, к которой относится новая страница, затемиспользуйте его для создания ссылочного объекта, который затем можно использовать для установки поля storyid.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...