在我的开源 SwiftUI 项目中,某段代码从 Xcode 11 b6 开始停止工作,并出现以下错误:Type of expression is ambiguous without more context.在此ModalView(currentModal: modal)之前,一切都正常工作。
struct ContentView: View {
@EnvironmentObject var modalManager: ModalManager
var body: some View {
return ZStack {
ForEach($modalManager.modals) { modal in
ModalView(currentModal: modal) ## Error here
.environmentObject(self.modalManager)
}
}.onAppear(perform: {self.modalManager.fetchContent()})
}
}
模态符合Identifiable如下所示,所以这不是问题。
struct Modal: Identifiable {
let id = UUID()
var content: AnyView
var position: ModalState = .base
var isFullscreenEnabled: Bool = false
var dragOffset: CGSize = .zero
}
将 ForEach 循环更改为ForEach($modalManager.modals, id: \.self) { modal in ....}返回更令人困惑的错误消息:Generic parameter 'B' could not be inferred在设置环境对象的行处。
任何帮助将不胜感激。