Обновление пользовательского интерфейса из БД RealmSwift


#1

Доброго времени суток.Столкнулся с такой проблемой: Получаю данные о погоде с api.openweathermap и записываю их в БД Realm. Потом с помощью функции получаю значения:

func getSearchCityWeatherFromDB() -> Results<SearchCityWeather> {
    do {
        let realm = try Realm()
        let searchCityWeather = realm.objects(SearchCityWeather.self)
        print("get from DB: \(searchCityWeather)")
        return searchCityWeather
    } catch let error as NSError {
        fatalError("Error opening realm: \(error)")
    }
}

И потом с помощью

 func updateUI() {
notificationToken = results.observe { [weak self] (changes: RealmCollectionChange) in
            switch changes {
            case .initial:

                let searchCityWeather = self?.manager.getSearchCityWeatherFromDB()
                self?.updateLabelsAndImages(searchCityWeather: searchCityWeather!)
                
                print("new")
            case .update:
                
                let searchCityWeather = self?.manager.getSearchCityWeatherFromDB()
                self?.updateLabelsAndImages(searchCityWeather: searchCityWeather!)
                print("update")
                
            case .error(let error):
                print("error")
                // An error occurred while opening the Realm file on the background worker thread
                fatalError("\(error)")
            }
        }
}

пытаюсь изменить ярлыки и картинки. Проблема в том, что при первом запросе (есть текстовое поле и кнопка поиска), все данные отображаются абсолютно нормально. Но если повторить запрос по городу, который уже искал, в консоле данные обновляются, а в интерфейсе остаются значения предыдущего запроса.
Спасибо.