Совместимый тип данных - PullRequest
1 голос
/ 30 мая 2020

Не знаю, существует эта проблема уже или нет, я ничего не нашел. Кстати, у меня проблема с типом данных.

Например, у меня есть несколько данных с сервера, и это типы Int. Так что моя модель тоже должна быть Int, чтобы получать данные с сервера. Теперь, если сервер изменит тип данных на Flot, у моего приложения возникнет проблема. поэтому мне также следует изменить тип данных на Flot и выпустить новую версию приложения. но здесь мои предыдущие версии приложения работают некорректно. как я могу справиться с этим, если тип данных изменился с сервера, мое приложение отлично работает и получает эти данные?

1 Ответ

1 голос
/ 30 мая 2020

Не рекомендуется изменять типы данных со стороны сервера.

Но если вам приходится иметь с этим дело, один из возможных способов - объявить тип ваших переменных как Any ( super type всех классов в Kotlin) и при его использовании проверьте тип переменной через when, чтобы вы также могли воспользоваться интеллектуальным приведением:

data class Person (val name: Any)

// Gathering data from the webservice and make an object of the Person class named person

when(person.name){
     is String -> {} // the name variable will be casted to String automatically
     is Float, is Double -> {}
     ..
     }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...