无法在 SwiftUI 中编译 fileExporter 视图修饰符
Unable to compile fileExporter view modifier in SwiftUI
我在为我的爱好项目创建导出功能时遇到了一些挑战。
我希望能够以 JSON 格式导出我的数据。根据FileDocument
能力,这应该正是我要找的。
我收集了我的 FileDocument,在设置 .fileExporter
的视图修饰符并填写正确的信息后,它没有编译。
我的代码如下所示:
struct YourData: View {
@ObservedObject var manager = Manager.shared
@State private var isShowingFileExporter = false
private var document: FileDocument? {
manager.retrieveData()
}
var body: some View {
List {
Text("Import Data")
Text("Export Data")
.onTapGesture {
isShowingFileExporter = true
}
}
.navigationTitle("Manage Your Data")
.navigationBarTitleDisplayMode(.inline)
.fileExporter(
isPresented: $isShowingFileExporter,
document: document,
contentType: .json,
onCompletion: { result in
switch result {
case let .success(url):
print("Data saved to: \(url)")
isShowingFileExporter = false
case let .failure(error):
print("Data failed to save with error: \(error.localizedDescription)")
isShowingFileExporter = false
}
}
)
}
}
编译错误指出:no exact matches in call to instance method 'fileExporter'
我错过了进口还是什么?我只导入 SwiftUI
和 UniformTypeIdentifiers
.
非常感谢任何提示。
.fileExporter
需要具体类型的文件(不是协议FileDocument
),所以应该提供
struct YourData: View {
@ObservedObject var manager = Manager.shared
@State private var isShowingFileExporter = false
private var document: YourFileDocument? { // << here !!
我在为我的爱好项目创建导出功能时遇到了一些挑战。
我希望能够以 JSON 格式导出我的数据。根据FileDocument
能力,这应该正是我要找的。
我收集了我的 FileDocument,在设置 .fileExporter
的视图修饰符并填写正确的信息后,它没有编译。
我的代码如下所示:
struct YourData: View {
@ObservedObject var manager = Manager.shared
@State private var isShowingFileExporter = false
private var document: FileDocument? {
manager.retrieveData()
}
var body: some View {
List {
Text("Import Data")
Text("Export Data")
.onTapGesture {
isShowingFileExporter = true
}
}
.navigationTitle("Manage Your Data")
.navigationBarTitleDisplayMode(.inline)
.fileExporter(
isPresented: $isShowingFileExporter,
document: document,
contentType: .json,
onCompletion: { result in
switch result {
case let .success(url):
print("Data saved to: \(url)")
isShowingFileExporter = false
case let .failure(error):
print("Data failed to save with error: \(error.localizedDescription)")
isShowingFileExporter = false
}
}
)
}
}
编译错误指出:no exact matches in call to instance method 'fileExporter'
我错过了进口还是什么?我只导入 SwiftUI
和 UniformTypeIdentifiers
.
非常感谢任何提示。
.fileExporter
需要具体类型的文件(不是协议FileDocument
),所以应该提供
struct YourData: View {
@ObservedObject var manager = Manager.shared
@State private var isShowingFileExporter = false
private var document: YourFileDocument? { // << here !!