簡體   English   中英

類型 '()' 不能符合 'View'; 只有結構/枚舉/類類型可以符合協議

[英]Type '()' cannot conform to 'View'; only struct/enum/class types can conform to protocols

我目前正在學習 swift,我正在嘗試制作一個簡單的應用程序來顯示您是否已連接到互聯網,但我不斷收到以下錯誤:

類型 '()' 不能符合 'View'; 只有結構/枚舉/類類型可以符合協議

這是代碼:

struct ContentView: View {
    
    let NetworkMonitor = NWPathMonitor(requiredInterfaceType: .wifi)
    
    var body: some View {
        
        VStack {                                        //Line with the error
        
            Text("Network Check")
            
            NetworkMonitor.pathUpdateHandler = {path in
                if path.status == .satisfied {
                    Text("We are Connected")
                } else {
                    Text("We are not connected")
                }
            }
        }
    }
}

我曾嘗試刪除 VStack 和“網絡檢查”文本,但它在var 正文上發送另一個錯誤:一些視圖行:

Function 聲明了一個不透明的返回類型,但在其主體中沒有返回語句來推斷基礎類型

謝謝

由於您正在調用 function,因此您無法在視圖構造中執行此操作,請嘗試在 onAppear 中調用它:

struct ContentView: View {

 let NetworkMonitor = NWPathMonitor(requiredInterfaceType: .wifi)
    @State var status = false
    var body: some View {
        VStack {
            Text("Network Check")
            if status {
                Text("We are Connected")
            } else {
                Text("We are not connected")
            }
            
        }.onAppear() {
           NetworkMonitor.pathUpdateHandler = { path in
            self.status = path.status == .satisfied
            }
        }
    }


}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM