ios - 在 Swift 中从 Wifi 切换到 Cellular 时出现可达性错误

标签 ios objective-c swift reachability unrecognized-selector

您好,我遇到一个问题,当我将连接从 wifi 更改为蜂窝连接或从 wifi 更改为蜂窝连接时,我的应用程序崩溃了,而不是像我编程的那样显示“无连接” View Controller 。我收到这样的错误:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Spotter.AppDelegate checkReachability]: unrecognized selector sent to instance 0x17404b1f0'

我正在使用 Apple 提供的 Objective-C 示例,顺便将它与我的 Swift 代码桥接起来。

这是我的代码:

@UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate, UITabBarControllerDelegate {

var window: UIWindow?
var reachability : Reachability?



    NSNotificationCenter.defaultCenter().addObserver(self, selector:"checkReachability", name: kReachabilityChangedNotification, object: nil);

    self.reachability = Reachability.reachabilityForInternetConnection();

    self.reachability!.startNotifier();

return true

}

func checkReachability(notification:NSNotification)
{

    var remoteHostStatus = self.reachability!.currentReachabilityStatus()

    if (remoteHostStatus.value == NotReachable.value)

    {

        let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)

        let offlineview = mainStoryboard.instantiateViewControllerWithIdentifier("OfflineViewController") as! OfflineViewController
        window!.rootViewController = offlineview
        window!.makeKeyAndVisible()



    }else{

        let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
        let initialViewController = mainStoryboard.instantiateViewControllerWithIdentifier("TabBar") as! UITabBarController

        window!.rootViewController = initialViewController
        window!.makeKeyAndVisible()


    }
}

谁能告诉我如何解决这个问题? 谢谢

最佳答案

您的选择器名称中缺少冒号。应该是:

NSNotificationCenter.defaultCenter().addObserver(self, selector:"checkReachability:", name: kReachabilityChangedNotification, object: nil);

关于ios - 在 Swift 中从 Wifi 切换到 Cellular 时出现可达性错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32471143/

相关文章:

swift - presenter 函数在 swift 3 上永远不会被读取

swift - 如何修复 'Cannot call value of non-function type ' UIColor''

ios - 使网站静音 - UIWebView

iphone - LocalPushNotification声音和iPhone的音量按钮

ios - 如何使用 "hide"框架

ios - 正则表达式拆分 NSString - iOS

ios - 当我将 UIKit 元素添加到 subview 时,setFrame 不起作用

c# - 无法从 Xamarin iOS SecKeychain 检索 GUID

ios - 获取 UIImage 的坐标,它是 UITableViewCell 的 subview

ios - 带有 swift 的 iOS 基本 BLE 通信应用程序