Комментарии 5
Если мы имеем дело с таргетом, который не имеет своей реализации Dispatchers.Main, например, Linux, то мы получим исключение EmptyCoroutineContext. Следовательно, viewModelScope мы использовать не сможем.
EmptyCoroutineContext
, как подсказывает название - это пустой контекст корутин. И там даже комментарий оставлен, для чего это сделано. То есть, если Dispatchers.MAIN.immediate
на платформе есть, то контекстом будет он. А если нет, то пустой контекст. Никаких исключений там не выбрасывается.
Какой странный xamarin у вас)0)
Блин, как все сложно... А ведь это только хелло ворлд приложение. А если будет посерьёзнее.
Интересно, как обрабатывать состояния таких View Model в Swift UI. Если я правильно понимаю, интерфейс от них реактивно обновляться не будет? Было бы здорово, если бы Google выпустили официальный аналог https://github.com/rickclephas/KMM-ViewModel или предложили свое решение, если ksp-генерация это некрасиво.
ViewModel + Kotlin Multiplatform. Пробуем нативное решение