Anh*_*vit 5 android kotlin kotlin-multiplatform kotlin-multiplatform-mobile
我在尝试为 kotlin 多平台自定义上下文时遇到了这个问题
Actual typealias 'ApplicationContext' has no corresponding expected declaration
The following declaration is incompatible because modality is different:
public final expect class ApplicationContext
Run Code Online (Sandbox Code Playgroud)
android主程序
import android.app.Application
actual typealias ApplicationContext = Application
Run Code Online (Sandbox Code Playgroud)
共同主
expect class ApplicationContext
Run Code Online (Sandbox Code Playgroud)
ios主程序
import platform.UIKit.UIView
actual typealias ApplicationContext = UIView
Run Code Online (Sandbox Code Playgroud)
Jab*_*iyo 11
类expect结构应该与您要输入别名的类相匹配。
Android的context类是一个abstract类
public abstract class Context {}
Run Code Online (Sandbox Code Playgroud)
所以模态错误就来自那里。
您还需要该类expect来abstract修复该特定错误
expect abstract class ApplicationContext
Run Code Online (Sandbox Code Playgroud)
制作它abstract会破坏模式,因为UIView它不是abstract。因此,您想要做的事情不可能以简单的方式实现。
您需要为您想要实现的目标考虑不同的策略。
| 归档时间: |
|
| 查看次数: |
837 次 |
| 最近记录: |