小编den*_*ave的帖子

如何使用 ShareLink 共享多个项目或文件夹

我正在使用 SwiftUIShareLink来共享 JSON 文件,但我想一次共享多个文件。Image最好创建一个文件夹并共享整个文件夹,因为我也想添加s 。

我该怎么办呢?我已经创建了一个符合Transferable创建和共享 JSON 文件的自定义结构。我尝试创建一个Array符合标准的扩展Transferable,但无法使其工作。

更新

我已经成功地利用了ShareLink需要多个项目的初始化程序。这仅适用于URLData项目,不适用于符合 的每个对象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 …
Run Code Online (Sandbox Code Playgroud)

swiftui

5
推荐指数
0
解决办法
780
查看次数

标签 统计

swiftui ×1