CKRecord извлекает возврат 1 записи с пустым RecordID - PullRequest
0 голосов
/ 16 ноября 2018

enter image description here

Запись из контейнера iCloud получена, но RecordID нет. В то же время в панели на сайте я это вижу. Я попытался извлечь запись из другого приложения, в настройках прописал нужный контейнер - и он был извлечен без ошибок.

Я не понимаю - это баг XCode? В конце концов, код извлечения идентичен во втором приложении, где все работает. А в отладчике внизу слева вы можете видеть, что RecordID не пустой.

Код:

privateDatabase.perform(query, inZoneWith: nil) { (results, error) -> Void in
    if error != nil {
        print(error!.localizedDescription)
        result(false)

    } else if results != nil, results!.count > 0, let me = results?[0] {
        let RN = (me[.recordID] as! CKRecord.ID).recordName  

Ошибка:

Поток 2. Неустранимая ошибка: неожиданно обнаружен ноль при развертывании необязательного значения

Консоль просмотра переменных:

_recordName __NSCFString * @ "UA-kuka-2018-11-16 11:27:59" 0x00000001c0644320

1 Ответ

0 голосов
/ 16 ноября 2018

Правильный способ получить recordID из CKRecord - использовать свойство recordID.

Предположим, me на самом деле CKRecord:

let RN = me.recordID.recordName
...