实际类型别名 'ApplicationContext' 没有相应的预期声明

Actual typealias 'ApplicationContext' has no corresponding expected declaration

我在尝试为 kotlin 多平台自定义上下文时遇到了这个问题

Actual typealias 'ApplicationContext' has no corresponding expected declaration
The following declaration is incompatible because modality is different:
    public final expect class ApplicationContext

androidMain

import android.app.Application

actual typealias ApplicationContext = Application

commonMain

expect class ApplicationContext

iosMain

import platform.UIKit.UIView

actual typealias ApplicationContext = UIView

expect class 结构应该与您输入别名的 class 相匹配。

Android的contextclass是一个abstractclass

public abstract class Context {}

所以模态错误来自那里。

您还需要 expect class 为 abstract 以修复该特定错误

expect abstract class ApplicationContext

使其成为 abstract 会破坏 UIView 的模式,因为它不是 abstract。所以你想要做的事情不可能以直接的方式进行。

您需要针对您要实现的目标考虑不同的策略。