ArkTS侧与Native侧如何进行map数据交互?

ArkTS侧与Native侧如何进行map数据交互

阅读 3.9k
1 个回答

当前没有专门的接口进行map在ArkTS侧与Native侧的转换,想要实现map(二维数组)数据交互,可以将map中的数据读取出来,传递到Native侧进行map重组。

参考代码如下:

ArkTS侧声明hashmap,并获取数据并传递到Native侧。

// ... 
.onClick(() => { 
  let hashmap : HashMap<string,number> = new HashMap() 
  hashmap.set("Abc",123) 
  hashmap.set("Bcd",234) 
  hashmap.set("Cde",345) 
  for (let key of hashmap.keys()) { 
    testNapi.mapDemo(key, hashmap.get(key)) 
    console.info(`key is ${key}, value is ${hashmap.get(key)}`) 
  } 
}) 
// ...

Native侧获取数据并重组map

// ... 
napi_get_cb_info(env, info, &argc, args , nullptr, nullptr); 
char str1[1024]; 
size_t str1_len; 
napi_get_value_string_utf8(env, args[0], str1, 100, &str1_len); 
int num; 
napi_get_value_int32(env, args[1], &num); 
std::map<std::string, int> testmap; 
testmap.insert(std::make_pair(str1, num)); 
// ...
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进