在SwiftUI中创建警报时接收生成错误

在SwiftUI中创建警报时接收生成错误,swift,xcode,swiftui,Swift,Xcode,Swiftui,我不知道这些是不是因为SwiftUI太新了,所以我做错了什么。我只导入SwiftUI 如果您有一个主按钮,则需要提供一个辅助按钮。这里的代码有效,应该可以回答您的问题: import SwiftUI struct ContentView: View { @State var showsAlert = false @State var errorMsg = "xxxx" var body: some View { Button(action: { self.showsAlert =

我不知道这些是不是因为SwiftUI太新了,所以我做错了什么。我只导入SwiftUI


如果您有一个主按钮,则需要提供一个辅助按钮。这里的代码有效,应该可以回答您的问题:

import SwiftUI

struct ContentView: View {

@State var showsAlert = false
@State var errorMsg = "xxxx"

var body: some View {
    Button(action: { self.showsAlert = true }) {
        Text("press to test").padding(10).border(Color.black)
    }.alert(isPresented: self.$showsAlert) {
        Alert(title: Text(self.errorMsg),
              message: Text("text message"),
              primaryButton: Alert.Button.default(Text("yes"), action: {
                print("---> yes")
              }),
              secondaryButton: Alert.Button.default(Text("no"), action: {
                print("---> no")
        }))
    }
}
}

出于某种原因,它无法识别SwiftUI警报,而只能识别UIAlertContrller。必须声明SwiftUI.Alert,这起作用了

.alert(isPresented: $showAlert) {
                   SwiftUI.Alert(title: Text("Hello"), message: Text("Good bye"), dismissButton: .cancel({
                       print("Canclel tapped")
                   }))
               }


不要张贴代码的图像,而是直接粘贴代码。欢迎来到stakeoverflow,@Luke Kasson。。!!谢谢你让我知道!我甚至在键入“Alert”时没有主按钮或次按钮的选项。因此,如果您复制并粘贴此代码,它对您无效?这里有些不对劲,您不应该这样做。你导入了SwiftUI吗?你能给我们看一下你使用的完整代码吗,这样我们就可以追踪问题了。不管视图是什么,空的,只是一个按钮,等等。它都会给出同样的错误。我只导入了SwiftUI。