我正在从kotlin调用一个函数到swift,在这里我必须将KotlinByteArray转换为字符串,然后将字符串转换为KotlinByteArray。
该函数调用位于快速侧。因此必须转换快速代码。
答案 0 :(得分:0)
我以下述方式做了同样的事情-
val valueInString="123456"
val valueInByteArray = ByteArray(valueInString)
答案 1 :(得分:0)
这里最好的选择是为@ IR42建议的stdlib函数String.encodeToByteArray()
和ByteArray.decodeToString()
提供包装。只需在您的Kotlin /本机代码中输入
fun String.ExportedToByteArray(startIndex: Int,
endIndex: Int,
throwOnInvalidSequence: Boolean
): ByteArray {
return this.encodeToByteArray(startIndex, endIndex, throwOnInvalidSequence)
}
然后,您将可以直接从Swift代码中使用它们。
关于这种复杂方法的原因。这些功能默认情况下不会进入框架的API,因为编译器无法选择应导出stdlib的哪一部分。因此,它旨在使开发人员明确指定所需的功能。