You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Swift中如何将KMM返回的KotlinByteArray转为NSData并加载图片?

KotlinByteArray 转 NSData/加载图片(KMM + Swift)

方法一:转换为NSData(或Swift Data)

KMM返回的KotlinByteArray在Swift端会暴露bytes属性,这是一个[UInt8]类型的数组,直接用它初始化Swift的Data即可(Data和NSData可以无缝桥接):

// 假设从KMM获取的字节数组实例为kotlinImageBytes
let imageData = Data(kotlinImageBytes.bytes)
// 转为NSData(可选,因为Swift Data可直接用于图片加载)
let nsImageData = imageData as NSData

// 加载图片
if let image = UIImage(data: imageData) {
    yourImageView.image = image
}

方法二:直接加载图片(简化步骤)

无需单独转NSData,直接用KotlinByteArray的bytes属性初始化UIImage:

if let image = UIImage(data: Data(kotlinImageBytes.bytes)) {
    yourImageView.image = image
}

注意事项

  • 确认KMM返回的字节数组是合法的图片二进制数据(如JPEG、PNG格式),否则UIImage初始化会返回nil
  • Swift中Data是NSData的原生包装类型,大部分场景下直接用Data即可,无需特意转换为NSData

内容的提问来源于stack exchange,提问作者Dinesh G

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 21:39:50