Как стать автором
Обновить

ViewModel + Kotlin Multiplatform. Пробуем нативное решение

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров9.1K
Всего голосов 21: ↑21 и ↓0+21
Комментарии5

Комментарии 5

Если мы имеем дело с таргетом, который не имеет своей реализации Dispatchers.Main, например, Linux, то мы получим исключение EmptyCoroutineContext. Следовательно, viewModelScope мы использовать не сможем.

EmptyCoroutineContext, как подсказывает название - это пустой контекст корутин. И там даже комментарий оставлен, для чего это сделано. То есть, если Dispatchers.MAIN.immediate на платформе есть, то контекстом будет он. А если нет, то пустой контекст. Никаких исключений там не выбрасывается.

Какой странный xamarin у вас)0)

Только ксамарин устарел и его поддержку дропнули, а KMP цветет и пахнет)))

Блин, как все сложно... А ведь это только хелло ворлд приложение. А если будет посерьёзнее.

Интересно, как обрабатывать состояния таких View Model в Swift UI. Если я правильно понимаю, интерфейс от них реактивно обновляться не будет? Было бы здорово, если бы Google выпустили официальный аналог https://github.com/rickclephas/KMM-ViewModel или предложили свое решение, если ksp-генерация это некрасиво.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий