相关疑难解决方法(0)

使用Swift中的可达性,NSNotification和网络链接调节器检测网络连接变化

我正在尝试将网络连接检测集成到我的应用程序中,但是,由于我的网络更改未被检测到/打印到控制台中,因此我似乎在某处出错.

正如帖子中提到的,我目前正在使用以下类和工具来完成这项工作:

  1. 可达性 {.h, .m}
  2. NSNotificationCenter
  3. 网络链路调节器

AppDelegate.Swift中,我设置了NSNotificationCenter检测更改:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// ... 
// A: Checks if the device is connected to the internet

    var defaultCenter: Void = NSNotificationCenter().addObserver(self, selector:"checkForReachability", name: kReachabilityChangedNotification, object: nil)
Run Code Online (Sandbox Code Playgroud)

}

在同一个类中AppDelegate,我还创建了此函数,以便在发生更改时触发:

func checkForReachability () {

    var networkReachability = Reachability.reachabilityForInternetConnection()
    networkReachability.startNotifier()

    var remoteHostStatus = networkReachability.currentReachabilityStatus()
    if (remoteHostStatus.value == NotReachable.value) {
        println("Not Reachable")
    } else if (remoteHostStatus.value == ReachableViaWiFi.value) {
        println("Reachable …
Run Code Online (Sandbox Code Playgroud)

reachability nsnotificationcenter ios swift

27
推荐指数
4
解决办法
5万
查看次数

标签 统计

ios ×1

nsnotificationcenter ×1

reachability ×1

swift ×1