- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的共享模块包含 Repository 类,它有两个函数,返回一个包含在扩展 Flow
的自定义类中的项目列表。称为CFlow。
我取了 CFlow
的代码来自 kotlinconf-app和 here :
fun <T> Flow<T>.asCFlow(): CFlow<T> = CFlow(this)
class CFlow<T>(private val origin: Flow<T>) : Flow<T> by origin {
fun watch(block: (T) -> Unit): Closeable {
val job = Job()
onEach {
block(it)
}.launchIn(CoroutineScope(Dispatchers.Main + job))
return object : Closeable {
override fun close() {
job.cancel()
}
}
}
}
存储库示例函数:
fun getData1(): CFlow<List<Profile>>
fun getData2(): CFlow<List<String>>
当我尝试在 iOS swift 代码中调用此函数时,函数的返回类型被转换为 CFlow<NSArray>
在 watch 函数内部,数组类型是 Any。
这很奇怪,因为在 kotlinconf-app 中和 here函数的返回类型被保留,并且它们的代码库中不涉及转换。
问题:如何让 CFlow 的类型在 Xcode iOS 项目中被识别?
Android Studio 版本:4.1.1
Kotlin 语言和插件版本:1.4.21
Kotlin Multiplatform Mobile 插件版本:0.2.0
Xcode 版本:12.2
最佳答案
现在编译器无法理解嵌套泛型。作为目前的解决方法,将您的列表包装在这样的数据类中
data class ProfileResult(val data: List<Profile>)
fun getData1(): CFlow<ProfileResult>
它会给你一个具体的 ios 类型
关于android - Kotlin 多平台移动 : Flow<List<*SomeModel*>> gets mapped to Flow<NSArray> in iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65281397/
我在尝试创建/编辑具有一些“has_many ... through”元素的实例时遇到错误。我一直在寻找解决方法,我尝试在一些和所有关系上添加“, :autosave => false”,但似乎没有任
我有一个 asp.net core 3.0 MVC 应用程序。在这个应用程序中,我可以列出、创建、编辑和删除一些对象(数据行)。所有这些操作都有 View : /Index.csltml(数据 Gri
在 Rails 创建的功能测试中(使用脚手架生成模型时),有一个测试如下所示: test "should create product" do assert_difference('Produ
我的共享模块包含 Repository 类,它有两个函数,返回一个包含在扩展 Flow 的自定义类中的项目列表。称为CFlow。 我取了 CFlow 的代码来自 kotlinconf-app和 her
我是一名业余编码员,通常可以通过大量搜索来解决错误,但这次我无法正确解决。 当我点击注销路由时,它会抛出错误:对于模型“Spot”的路径“_id”处的值“logout”,转换到 ObjectId 失败
我是一名优秀的程序员,十分优秀!