我想知道Swift或ios中Javascript ArrayBuffer的等价物。
基本上我有一个Swift结构,我想存储为blob(基于内存布局存储的数据)并将此blob传递给Javascript ArrayBuffer,我可以根据定义的set布局从ArrayBuffer中提取数据
我还没有设法将Swift中的结构保存为二进制/内存blob。苦苦挣扎,了解内存布局配置。我认为它与C中的结构类似,但它们不是。
任何帮助或指示将不胜感激。谢谢。
我不是Javascript的专家,所以我可能会说废话。如果你的struct 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
转换数据字符串