Swift或iOS中的Javascript ArrayBuffer等效项

时间:2019-02-18 16:41:35

标签: javascript ios swift arraybuffer

我想知道Swift或ios中的Javascript ArrayBuffer是什么。

基本上,我有一个Swift结构,我想将其存储为blob(基于内存布局存储的数据),并将此blob传递给Javascript ArrayBuffer,我可以根据定义的集合布局从ArrayBuffer中提取数据

我还没有设法将Swift中的结构保存为二进制/内存Blob。努力了解内存布局配置。我以为它与C中的结构类似,但与之不同。

任何帮助或指针将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:1)

我不是Java语言方面的专家,所以我可能在胡说八道。 如果您的结构S实现了Codable协议,似乎可以实现您想要的目标。然后,您可以使用编码器将其转换为Data Blob,如下所示:

let encoder = JSONEncoder()
do {
 let data = try encoder.encode(s)
 // do what you want with the blob
} catch {
 // handle error
}

然后回到S,就像这样:

let decoder = JSONDecoder()
do {
 let s = try decoder.decode(S.self, from: data)
} catch {
 // handle error
}

如果SCodable,则[S]Array<S>)也将是Codable

您可能可以将数据作为字符串传递到脚本中,然后必须使用JSONSerialization

转换数据字符串。