У меня есть интерфейс SampleInterface
в CommonMain
interface SampleInterface {
fun printMessage(message: String)
}
и одноэлементный объект Singleton
в CommonMain
object Singleton {
private var interfaceObj: SampleInterface? = null
fun setup(interfaceObj: SampleInterface) {
this.interfaceObj = interfaceObj
}
fun printMessage(message: String) {
this.interfaceObj?.printMessage(message)
}
}
Я пытаюсь реализовать интерфейсSampleInterface
in swift
class IosImpl: SampleInterface {
func printMessage(message: String) {
print("\(message)")
}
}
передача объекта IosImpl
из swift
в Singleton
in kotlin native
func test() {
let iImpl = IosImpl()
Singleton().setup(iImpl) // Failing with KotlinException
}
Исключение:
Uncaught Kotlin exception: kotlin.native.concurrent.InvalidMutabilityException: mutation attempt of frozen