HarmonyOS ArkTS中,无法对C对象进行深拷贝,或者序列化,需要把数据转换成@Sendable支持对象

ArkTS中,无法对C对象进行拷贝,或者序列化,目前序列化出来是空数据:{},有没有什么办法可以方便的做序列化,或者可以遍历出数据结构,进行拷贝。

主要原因是这边引用的数据在@Sendable下,需要把数据转换成@Sendable支持对象。

目前做法是在ArkTS重新写了一个数据结构和C层导出的TS对象一一对应,然后赋值。有没有更好的实现方案,或者转换工具呢?

C对象结构TS结构是:

export class MTIKRealTimeParamTableModel {
  uiName : string
  uiNameEN : string
  uiNameTW : string
  type : MTIKRealTimeParamTableModelType
  subData : MTIKRealTimeParamTableSubDataSlider
  setupType(value : number)
  setSliderSubDataType(value : number)
}

export enum MTIKRealTimeParamTableModelType {
  Slider,
  Color,
  Switch,
  String,
  Position,
  Num,
}

export class MTIKRealTimeParamTableSubDataBase {
}

export class MTIKRealTimeParamTableSubDataSlider extends MTIKRealTimeParamTableSubDataBase {
  constructor()
  value : number
  minValue : number
  maxValue : number
  type : MTIKParamTableSliderType
  setSliderType(inputType : number)
}

export enum MTIKParamTableSliderType {
  Intensity,      // 0 强度
}
HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

目前ArkTS层没有其他的更好的解决办法,后续napi会支持定义一个@Sendable的class,传递到ArkTS层后,就可以序列化了。

分享
微博
QQ
微信
回复
2天前
相关问题
ArkTS如何实现对象拷贝
536浏览 • 1回复 待解决
HarmonyOS json转换成对象
82浏览 • 2回复 待解决
求大佬告知如何序列化对象
805浏览 • 1回复 待解决
HarmonyOS 对象实现拷贝
23浏览 • 1回复 待解决
HarmonyOS对象转换成字符串的方法
627浏览 • 1回复 待解决
json 如何转换成自定义的业务类对象
841浏览 • 1回复 待解决
HarmonyOS 图片转换成ImageBitmap
54浏览 • 1回复 待解决
有谁知道 task 参数无法序列化
1807浏览 • 1回复 待解决
HarmonyOS Map 序列化问题
27浏览 • 1回复 待解决