G
Size: a a a
Д
🅰Б
Д
🅰Б
IG
Timer.publish(every: 1, on: .main, in: .common)
.autoconnect()
.scan(5) { counter, _ in counter - 1 }
.handleEvents( receiveCompletion: { c in
print("Receive completion", c)
})
.
.fullScreenCover(isPresented: $networkMonitor.isDisconnected) {
NetworkStatusView()
}
ДЖ
ДЖ
ДЖ
G
.
Foundation
import Network
final
class NetworkMonitor: ObservableObject {
let monitor = NWPathMonitor()
let queue = DispatchQueue(label: "Monitor")
@Published
var isConnected =
true
@Published
var isDisconnected =
false
init() {
monitor.pathUpdateHandler = { [
weak
self] path
in
DispatchQueue.main.async {
self?.isConnected = path.status == .satisfied ?
true :
false
self?.isDisconnected = path.status == .satisfied ?
false :
true
}
}
monitor.start(queue: queue)
}
}
G