Уведомление не вызывается в достижимости - PullRequest
5 голосов
/ 28 июля 2011

Я использовал Эндрю модифицированный класс Reachability.

-(void)viewDidLoad

[[NSNotificationCenter defaultCenter] postNotificationName:kReachabilityChangedNotification object:nil];
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(checkNetworkStatus:) name:kReachabilityChangedNotification object:nil];

Когда данные загружаются, я выключаю AirPort. Но checkNetworkStatus не вызывается. Я что-то пропустил. Пожалуйста, помогите мне. Эта проблема сводит меня с ума. Заранее спасибо.

Ответы [ 4 ]

11 голосов
/ 28 июля 2011

Вы сказали экземпляру достижимости начать трансляцию уведомлений?

Reachability *internetReachable = [Reachability reachabilityForInternetConnection];
// This will tell the notifier to start sending notifications
[internetReachable startNotifier];
2 голосов
/ 10 октября 2014

Это сработало для меня (Свифт):

func handleNetworkChange(notification:NSNotification) { ... }

NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("handleNetworkChange:"), name: kReachabilityChangedNotification, object: nil)
ReachabilityChecker = Reachability.reachabilityForInternetConnection()
ReachabilityChecker!.startNotifier()
2 голосов
/ 31 июля 2011

У меня точно такая же проблема, пример Apple прекрасно работает, так что в итоге я заменяю класс Reachability версией Apple, все отлично работает. Это стоило мне почти 2 часа.

Просто замените свой Reachability.h, .m из примера Apple, все должно просто сработать.

2 голосов
/ 28 июля 2011

положить в этой последовательности

в вашем представлении загрузил

Первый регистр

тогда

опубликовать это уведомление

[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(checkNetworkStatus:) name:kReachabilityChangedNotification object:nil];


[[NSNotificationCenter defaultCenter] postNotificationName:kReachabilityChangedNotification object:nil];
...