我正在使用SwiftUI: Send email的答案2中提供的代码,它工作得很好。但是,在我的应用程序中,我希望将vc.setSubject设置为包括一些变量:
vc.setSubject("2020_\(riderFlagNumber)_\(activeBonus.category)_\(activeBonus.city)_\(activeBonus.state),\(activeBonus.code)")riderFlagNumber来自userDefaults,工作正常;但标记为activeBonus的则来自触发电子邮件的导航详细信息视图。它们来自一个似乎只能从视图访问的ObservableObject。如何将这些变量从该视图传递到MFMailComposeViewController()?
发布于 2020-03-12 20:57:57
我假设您指定的包含ObservableObject类的视图如下所示
class activeBonus: ObservableObject {
@Published var category: String = "ABC"
@Published var city: String = "Seoul"
}如果是这样的话,在包含MFMailComposeViewController()的文件中添加以下内容(以下代码中指定的@ObserverObject行):
struct MailView: UIViewControllerRepresentable {
@Environment(\.presentationMode) var presentation
@Binding var result: Result<MFMailComposeResult, Error>?
@ObservedObject var activeBonus = activeBonus()一旦添加了带有@ObservedObject的行,您提到的主题行就可以工作了。
https://stackoverflow.com/questions/60661078
复制相似问题