Fra*_*cia 7 kotlin kotlin-native kotlin-multiplatform
与 Kotlin 多平台项目抗争 我已经结束了与 Kotlin Native一起工作时需要NsData
在我的 iOS 平台上工作的问题sharedModule
。
因此,我需要将objectiveC 转换NsData
为KotlinByteArray
并返回。我怎样才能做到这一点?
Fra*_*cia 19
NsData 到 ByteArray
actual typealias ImageBytes = NSData
actual fun ImageBytes.toByteArray(): ByteArray = ByteArray(this@toByteArray.length.toInt()).apply {
usePinned {
memcpy(it.addressOf(0), this@toByteArray.bytes, this@toByteArray.length)
}
}
Run Code Online (Sandbox Code Playgroud)
ByteArray 到 NsData
actual fun ByteArray.toImageBytes(): ImageBytes? = memScoped {
val string = NSString.create(string = this@toImageBytes.decodeToString())
return string.dataUsingEncoding(NSUTF8StringEncoding)
}
Run Code Online (Sandbox Code Playgroud)
ByteArray 到 NsData 的不同方式
actual fun ByteArray.toImageBytes() : ImageBytes = memScoped {
NSData.create(bytes = allocArrayOf(this@toImageBytes),
length = this@toImageBytes.size.toULong())
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1543 次 |
最近记录: |