0

在我的开源 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在设置环境对象的行处。

任何帮助将不胜感激。

4

0 回答 0