我在尝试使用Reachablitiy时遇到错误

时间:2016-10-07 10:33:43

标签: ios swift reachability

我想提醒用户,如果他们的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)
    }

Image With Error

2 个答案:

答案 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
    }