我想提醒用户,如果他们的xcode swift应用程序中没有Internet连接,那么我使用Reachablity来执行此操作。但是当我将代码实现到Viewcontroller时,我收到了这个错误:
预期宣言
我试图将我的代码放入viewdidload
但也没有用。
这是代码:
if Reachability.checkIntenetRechable() == false {
let alertView = UIAlertCole: "APP_NAME", message: "Please check your internet connection.", preferredStyle: UIAlertControllerStyle.Alert)
//alertView.addAction(UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Cancel, handler: { (action: UIAlertAction ) in }))
alertView.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler: { (action: UIAlertAction ) in
// Put some code for okay button
}))
self.presentViewController(alertView, animated: true, completion: nil)
}
答案 0 :(得分:0)
您可能会错误输入该方法。 我发现它有两个错别字。
你的意思不是吗?
if Reachability.checkInternetReachable() == false { /* */ }
预期声明表示您所呼叫的方法不存在。
答案 1 :(得分:0)
似乎该方法在可达性文件中不存在SO在可达性文件中添加此方法
class func checkIntenetRechable() -> Bool {
var zeroAddress = sockaddr_in()
zeroAddress.sin_len = UInt8(sizeofValue(zeroAddress))
zeroAddress.sin_family = sa_family_t(AF_INET)
let defaultRouteReachability = withUnsafePointer(&zeroAddress) {
SCNetworkReachabilityCreateWithAddress(nil, UnsafePointer($0))
}
var flags = SCNetworkReachabilityFlags()
if !SCNetworkReachabilityGetFlags(defaultRouteReachability!, &flags) {
return false
}
let isReachable = (flags.rawValue & UInt32(kSCNetworkFlagsReachable)) != 0
let needsConnection = (flags.rawValue & UInt32(kSCNetworkFlagsConnectionRequired)) != 0
return (isReachable && !needsConnection) ? true : false
}