Привет, У меня возникла проблема, когда я меняю свое соединение с Wi-Fi на сотовый, или наоборот, когда приложение падает, вместо того, чтобы показывать контроллер просмотра «Нет соединения», как я его запрограммировал к. Я получаю сообщение об ошибке, как это:Ошибка достижимости при переключении с Wi-Fi на сотовую в Swift
Нагрузочного приложение из-за неперехваченное исключение 'NSInvalidArgumentException', причина: '- [Spotter.AppDelegate checkReachability]: непризнанный селектор направлен например 0x17404b1f0'
I я использую образец Objective-C, предоставленный Apple, и, кстати, с помощью моего кода 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()
}
}
Может кто-нибудь сказать мне, как я могу решить эту проблему? Спасибо
Wow thanks! Не могу поверить, что я пропустил это. Знаете ли вы, что в любом случае я мог бы показать, что соединение отсутствует, не перезагружая представление? –