forked from JJUNGTABLE/iOS
28 lines
609 B
Swift
28 lines
609 B
Swift
//
|
|
// NetworkMonitor.swift
|
|
// JJUNGTABLE
|
|
//
|
|
// Created by Sean Kim on 6/11/24.
|
|
//
|
|
|
|
import Network
|
|
import Combine
|
|
|
|
class NetworkMonitor: ObservableObject {
|
|
static let shared = NetworkMonitor()
|
|
|
|
private let monitor = NWPathMonitor()
|
|
private let queue = DispatchQueue.global(qos: .background)
|
|
|
|
@Published var isConnected: Bool = true
|
|
|
|
private init() {
|
|
monitor.pathUpdateHandler = { [weak self] path in
|
|
DispatchQueue.main.async {
|
|
self?.isConnected = (path.status == .satisfied)
|
|
}
|
|
}
|
|
monitor.start(queue: queue)
|
|
}
|
|
}
|