TGViewer
Kotlin Multiplatform Broadcast Kotlin Multiplatform Broadcast @kotlin_broadcast · 9.55K subscribers
Post #2129 4.92K
🏝 SKIE: StateFlow в SwiftUI без `.task` и обёрток

Базовый interop FlowAsyncSequence в SKIE уже давно. Теперь поверх него добавили preview-слой под SwiftUI (в превью). Shared не трогаешь, тот же StateFlow.

class RandomColorViewModel {
private val _color = MutableStateFlow(UIColor.gray)
val color: StateFlow<UIColor> = _color.asStateFlow()

fun randomize() {
_color.value = UIColor(
red = Random.nextDouble(),
green = Random.nextDouble(),
blue = Random.nextDouble(),
alpha = 1.0
)
}
}


Без хелперов на iOS это всё ещё .task + ручной @State. С preview-API экран выглядит так:

struct ColorScreen: View {
let viewModel: RandomColorViewModel
@State private var color: Color = .gray

var body: some View {
ColorSample(color: color, onRandomize: viewModel.randomize)
.collect(flow: viewModel.color, into: $color) { Color($0) }
}
}


Или без @State — flow сразу кормит view:

struct ColorScreen: View {
let viewModel: RandomColorViewModel

var body: some View {
Observing(viewModel.color, animation: .default) { color in
ColorSample(
color: Color(color),
onRandomize: viewModel.randomize
)
}
}
}


Включается так:

//build.gradle.kts
skie {
features {
enableSwiftUIObservingPreview = true
}
}


В Kotlin to Swift Export interop корутин только догоняет. У SKIE базовый interop уже в бою, а collect / Observing — свежий preview поверх него.

🔗 Источник - блог Touchlab

#KMP #Kotlin #Touchlab #Swift #SwiftUI
  • 👍 21
  • 👎 7
More from @kotlin_broadcast
  1. Sep 24, 2026⚡️⚡️AI-агент съел токены и потерял контекст. Что делать? Разберемся на Mobius 2026 Autumn.…
  2. Sep 23, 2026🏝 Вышла первая Beta Kotlin 2.5.0 Что уже известно про новую версию (самое интересное) ✔️…
  3. Sep 19, 2026🚀 Вышел Ktor 3.6 Главное для тех, кто тащит Ktor на KMP/Android — артефакт ktor-client-en…
  4. Sep 17, 2026🏝 Следующий KotlinConf пройдет в апреле 2027 в Кракове, Польша!
  5. Sep 15, 2026💉 Koin Compiler 1.2 проверяет уже весь DSL, то что стоило делать еще в 1.0 Koin Compiler…
  6. Sep 8, 2026Post #2137
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →