【发布时间】:2021-10-08 05:54:00
【问题描述】:
我正在尝试在我的项目中使用来自Stately 的IsolatedState。例如。我有一个视图模型,其中包含一些要显示的数据结构。它使用该数据结构实例进行初始化,然后我尝试创建一个 IsolatedState 以便能够应用用户操作和 bg 操作来改变来自不同线程的相同实例。
class ViewModel() {
constructor(data: SomeData) : this() {
println("Hey: ${data.isFrozen}")
println(1)
isolatedData = IsolateState { data }
println(2)
}
lateinit private var isolatedData: IsolateState<SomeData>
}
输出是
Hey: false
1
然后引发异常kotlin.IllegalStateException: Mutable state shouldn't be frozen。所以看起来data在初始化IsolatedState之前没有被冻结。我初始化它的方式有问题吗?
【问题讨论】:
标签: kotlin concurrency kotlin-coroutines kotlin-multiplatform kotlin-native