监控互联网Swift的状态

时间:2016-02-26 12:24:33

标签: ios networking reachability

我知道如何通过Reachability.Swift检查网络连接。我希望在视图控制器中实现一些事情,如果在视图加载后在后台进行互联网检查,我甚至知道我们可以启动一个NSTimer,以便在5分钟后检查让我们每次调用Reachability类来检查连通性。

我的问题是,还有其他可用的理论,

我见过这个图书馆 Link to Lib

但是我想知道是否有人在Swift中做到了这一点!

1 个答案:

答案 0 :(得分:3)

Swift 2.0 - 使用可达性检查网络,NSNotification

AppDelegate.swift

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool 
{
      NSNotificationCenter.defaultCenter().addObserver(self, selector:"checkNetworkStatus", name: ReachabilityChangedNotification, object: nil);

 do{self.reachability = try Reachability.reachabilityForInternetConnection()}catch{}
 do{try self.reachability.startNotifier()}catch{}
 self.checkNetworkStatus()

 return true
}

声明networkStatus变量

var networkStatus : Reachability.NetworkStatus!
checkNetworkStatus() Function

func checkNetworkStatus()
{
  networkStatus = reachability.currentReachabilityStatus

  if (networkStatus == Reachability.NetworkStatus.NotReachable)
  {
    print("Not Reachable")
  }
  else
 {
    print("Reachable")
 }
 }

OtherClass.Swift

let delegate = UIApplication.sharedApplication().delegate as!  AppDelegate

 if (delegate.networkStatus!=Reachability.NetworkStatus.NotReachable)
 {
    // Call Webservice     
 }
 else
 {
    delegate.checkNetworkStatus()  //Not Reachable print  
 }