Добавление области не вставляет все объекты - PullRequest
0 голосов
/ 25 апреля 2018

В моем приложении я получаю 1000 объектов на запрос и вставляю их в базу данных области.Общее количество запросов 7, но не все данные вставлены.В конце должно было быть 6236 объектов, тогда как я получаю только 6070 объектов.Я также попробовал метод realm.create, перебрав их все, но результат все тот же.Я не получаю никаких сообщений об ошибках при сбое.Есть ли способ получить сообщения об ошибках?

Мой код вставки:

func saveAyahs(ayahs: [Ayah]) {
    print("From API")
    print(ayahs.count)
    do{
        let realm = try Realm()
        try realm.write {
            realm.add(ayahs, update: true)
 //                for items in ayahs {
 //                    try realm.create(Ayah.self, value: items, update: true)
 //                }
            print(realm.objects(Ayah.self).count)
        }
    }catch {
        print("Unexpected error: \(error).")
    }
}

Ответы [ 2 ]

0 голосов
/ 25 апреля 2018

Ваша строка

        realm.add(ayahs, update: true)

Ваш объект Айах

Кажется, у вас есть первичный ключ - id или другой, где его обновляет тот же объект другим ключом,

Попробуйте удалить первичный ключ, проверьте его.

Я отредактирую свой ответ, если вы поделитесь с ним классом Ayah.

Вы должны удалить

    print(realm.objects(Ayah.self).count)

из метода внутри и показать, когда метод завершает работу.

0 голосов
/ 25 апреля 2018

Возможно ли, что некоторые из аяхов имеют одинаковый ключ / идентификатор?

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