我正在使用 SwiftUIShareLink来共享 JSON 文件,但我想一次共享多个文件。Image最好创建一个文件夹并共享整个文件夹,因为我也想添加s 。
我该怎么办呢?我已经创建了一个符合Transferable创建和共享 JSON 文件的自定义结构。我尝试创建一个Array符合标准的扩展Transferable,但无法使其工作。
我已经成功地利用了ShareLink需要多个项目的初始化程序。这仅适用于URL或Data项目,不适用于符合 的每个对象Transferable。
澄清一下,这是我用来共享 JSON 文件的自定义对象:
struct JSONFile {
let url: URL
}
extension JSONFile: Transferable {
static var transferRepresentation: some TransferRepresentation {
FileRepresentation(exportedContentType: .json) { jsonFile in
SentTransferredFile(jsonFile.url)
}
}
}
Run Code Online (Sandbox Code Playgroud)
我将序列化的 JSON 数据保存到 aURL并用它创建一个实例JSONFile。现在我可以这样JSONFile分享:ShareLink
ShareLink(
"Share title",
item: jsonFile,
preview: SharePreview("title.json")
)
Run Code Online (Sandbox Code Playgroud)
当我想共享多个项目时,我可以这样做:
ShareLink(
"Share title",
items: [jsonFile1.url, jsonFile2.url]
)
Run Code Online (Sandbox Code Playgroud)
这是可行的,但是创建一个首先符合Transferable然后仅使用其 url 的对象似乎很奇怪。
另外,这会导出多个项目,但我仍然想将它们导出到一个文件夹中。
| 归档时间: |
|
| 查看次数: |
780 次 |
| 最近记录: |