Я устанавливаю приложение, в котором пользователь может создавать записи. Предположим, он/она является владельцем чата. Поэтому в записи чата есть атрибут «admin». Этот атрибут принимает ссылку, которая является идентификатором владельца.cloudkit введите userID как ссылку новой записи (в коде)
Вот что я пробовал:
CKContainer.defaultContainer().fetchUserRecordIDWithCompletionHandler({
userRecordID, error in
if error != nil {
println("caca")
} else {
println("gettin close")
let UserRecordIDToStore = NSKeyedArchiver.archivedDataWithRootObject(userRecordID)
let iDString = userRecordID.recordName as String
daMainUser.setObject(iDString, forKey: "user")
}
})
Когда я прохожу iDString, как описано выше, и я создаю запись (номер), его админ ссылка пуста. Я ли делал iDString как String или нет.
Когда я прохожу userRecordID непосредственно, я получаю сообщение об ошибке: «CKRecordID» не совпадает с «CKRecordValue»
Я искал везде, но я не могу найти более подробную информацию об этом.
Любая помощь была бы принята с благодарностью. Спасибо вам, ребята!
Привет, Эдвин, большое спасибо за ваш ответ. Проблема в том, что когда я открываю круглые скобки после CKReference, я не могу выбрать (recordID: ..., forKey: ...) Вместо этого могу выбрать только 1: CKReference (coder: ...) 2 : CKReference (запись: ..., действие: ...) 3: CKReference (recordID: ..., action: ...) Когда я ввожу daMainUser.setObject (CKReference (recordID: userRecordID, forKey: " user ") Я получаю сообщение об ошибке: Дополнительный аргумент 'recordID' в вызове Моя версия Xcode 6.1.1 не знает, может ли это помочь. –
извините, это была ошибка разреза и прошлого. Ответ: –
Большое спасибо за ваш ответ. Я ценю это. Но похоже, что я столкнулся с неудачей на этом. правильная строка сверху, но «пользовательская» ссылка на запись по-прежнему пуста, а другие атрибуты (дата, имя), где успешно сохранены. Есть идеи? –