#ios #objective-c #iphone #afnetworking-3
#iOS #objective-c #iPhone #afnetworking-3
Вопрос:
Я использую AFNetworking NetworkObserver для непрерывной проверки подключения к Интернету. Я хочу обновить пользовательский интерфейс на основе подключения к Интернету. Для этого я добавил следующего наблюдателя в делегате приложения:
[[AFNetworkReachabilityManager sharedManager] startMonitoring];
затем в каждом ViewController я добавил :
[[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
NSLog(@"Reachability: %ld %@",(long)status, AFStringFromNetworkReachabilityStatus(status));
int intRechable = status;
if (intRechable == 0) {
NSLog(@"Connection lost");
}else{
NSLog(@"Connected");
}
}];
Проблема в том, что некоторое время он работает, а некоторое время нет.
Я проверил какой-то ответ, в котором они упоминают установленную временную задержку. Но все равно он не работает всегда.
Я заметил, что контроллер, на котором нет вызова веб-службы, на этом контроллере работает хорошо (даже на симуляторе!). Есть ли какая-либо связь между этим?
Комментарии:
1. Вы зарегистрировали устройство?
2. Да, для тестирования используется 6 plus. Ниже приведены сценарии: 1. Если я нахожусь на том же экране, если Интернет потерян, он не показывает никакого ответа, но если я перейду на другой экран, он не даст интернета. 2. Сценарий, о котором я упоминал, встречается нечасто, но это основная проблема. 3. Часть экрана работает отлично. Я просто застрял на этом. Я собираюсь реализовать другой способ для этого, я дам вам знать, если это сработает. Счастливого кодирования.
3. ОК. Спасибо..
4. Ооо, это была моя ошибка, я неправильно проверяю флаг состояния. Вместо того, чтобы помещать статус во вводимую переменную, либо измените вводимую переменную на long, либо напрямую проверьте статус, присвоив ему значение long с помощью integer , это решило мою проблему.