Art*_* TL 2 xcode ios swift swiftui
我目前正在学习 swift,我试图制作一个简单的应用程序来显示您是否已连接到互联网,但我不断收到以下错误:
类型“()”不能符合“View”;只有 struct/enum/class 类型可以符合协议
这是代码:
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")
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我曾尝试删除 VStack 和“网络检查”文本,但它在var body 上发送了另一个错误:某些视图行:
函数声明了一个不透明的返回类型,但其主体中没有用于推断基础类型的 return 语句
谢谢
由于您正在调用函数,因此无法在视图构造中执行此操作,请尝试在 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
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3344 次 |
| 最近记录: |