我想知道Swift或ios中的Javascript ArrayBuffer是什么。
基本上,我有一个Swift结构,我想将其存储为blob(基于内存布局存储的数据),并将此blob传递给Javascript ArrayBuffer,我可以根据定义的集合布局从ArrayBuffer中提取数据
我还没有设法将Swift中的结构保存为二进制/内存Blob。努力了解内存布局配置。我以为它与C中的结构类似,但与之不同。
任何帮助或指针将不胜感激。谢谢。
答案 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
}
如果S
是Codable
,则[S]
(Array<S>
)也将是Codable
。
您可能可以将数据作为字符串传递到脚本中,然后必须使用JSONSerialization