Я пытаюсь попросить пользователя проверить соединение через метку, если возникла проблема, и если соединение снова заработает, метка исчезнет.Мой код работает нормально, но когда я выключаю Wi-Fi вручную, ярлык не появляется, пока я не закрою и снова не открою приложение !!Я не понимаю, что надеть на мой код, чтобы каждый раз проверять его, не закрывая и не открывая приложение?
func InternetCheck () -> Bool {
var zeroAddress = sockaddr_in()
zeroAddress.sin_len = UInt8(MemoryLayout.size(ofValue: zeroAddress))
zeroAddress.sin_family = sa_family_t(AF_INET)
let defaultRouteReachability = withUnsafePointer(to: &zeroAddress) {
$0.withMemoryRebound(to: sockaddr.self, capacity: 1) {zeroSockAddress in
SCNetworkReachabilityCreateWithAddress(nil, zeroSockAddress)
}
}
var flags = SCNetworkReachabilityFlags()
if !SCNetworkReachabilityGetFlags(defaultRouteReachability!, &flags) {
return false
}
let isReachable = flags.contains(.reachable)
let needsConnection = flags.contains(.connectionRequired)
return (isReachable && !needsConnection)
}
override func viewDidLoad() {
super.viewDidLoad()
if InternetCheck() == false {
stsLabel.text = "Check your Internet Connection"
} else {
stsLabel.isHidden = true
}
}