我无法访问在 Swift 的 Flow 中观察到的密封类数据 ..
sealed class NetworkStatus<T> {
data class Loading<T>(var loading: Boolean) : NetworkStatus<T> ()
data class CustomSignal<T>(var signal: String) : NetworkStatus<T>()
data class CustomSignalDetailed<T>(var signal: ErrorCaseData) : NetworkStatus<T>()
data class Failure<T>(val e: Throwable) : NetworkStatus<T>()
data class Data<T> (val data: T ) : NetworkStatus<T>()
companion object {
fun <T>loading(isLoading: Boolean): NetworkStatus<T> = Loading(isLoading)
fun <T> customstatus(signal: String): NetworkStatus<T> = CustomSignal(signal)
fun <T> customStatusDetailed(signals: ErrorCaseData): NetworkStatus<T> = CustomSignalDetailed(signals)
fun <T> failure(e: Throwable): NetworkStatus<T> = Failure(e)
fun <T> data(data: T): NetworkStatus<T> = Data<T>(data)
}
}
https://gist.github.com/RageshAntony/a4fd357973485b5fb8aef0e189ee9e7e
在上述要点中......
在 MainActivity.kt 中,我在数据流中使用了密封类
现在我在 Swift 中也需要同样的东西,但这很令人困惑
即使我使用了一些东西作为 CFlow 包装.. 仍然混乱
在 Swift 中,我不能仅将对象类型作为 nsarray 并且 NetworkStatus.data 也无法访问
.. 我尝试了手动类型转换(在第 8 行, contentview.swift )
仍然数据对象没有任何类型...
请帮助我如何在 Swift 中实现与 MainActivity.kt 中相同的流程