Наличие `didFailLoadWithError:` запускается только один раз при запуске
Если я попытаюсь щелкнуть другую ссылку до завершения загрузки страницы, didFailLoadWithError: запустит и отобразит изображение проблемы с подключением, которое я спрятал. Вот код, который я использую:
- (void)webViewDidFinishLoad:(UIWebView *)webView {
NSLog(@"didFinish: %@; stillLoading:%@", [[webView request]URL],
(webView.loading?@"NO":@"YES"));
}
-(void)webView:(UIWebView *)myWebView didFailLoadWithError:(NSError *)error {
NSLog(@"No internet connection");
_connectionError.hidden = NO;
}
Кто-нибудь знает быстрый способ запустить его только один раз при запуске приложений и никогда не запускать снова в течение оставшегося времени?
1 ответ
Это метод делегата, который запускается каждый раз при сбое.
попробуйте что-нибудь подобное. (создайте BOOL с именем firstTimeRun в заголовке)
-(void)webView:(UIWebView *)myWebView didFailLoadWithError:(NSError *)error {
if (firstTimeRun) {
_connectionError.hidden = NO;
firstTimeRun = NO;
}
}
Не забудьте установить firstTimeRun на NO при загрузке сайта, если вы хотите, чтобы это было только при первой загрузке.
РЕДАКТИРОВАТЬ:
В своем заголовочном файле (.h) вы пишете следующее
@interface ... {
@property BOOL firstTimeRun;
}
вам может понадобиться инициализировать его с NO где-нибудь в вашем методе. Вы должны опубликовать свои.h и.m файлы класса, прежде чем я смогу помочь вам больше.