2011-01-17 6 views
0

Мне нужна помощь с этим ответом от UIWebView - How to identify the "last" webViewDidFinishLoad message?Как я могу объявить эту функцию?

Как объявить webViewLoads _ ++; и webViewLoads _--; в следующем коде:

- (void)webViewDidStartLoad:(UIWebView *)webView { 
    webViewLoads_++; 
} 


- (void)webViewDidFinishLoad:(UIWebView *)webView { 
    webViewLoads_--; 

if (webViewLoads_ > 0) { 
return; 
} 

… 
} 

Благодарности

ответ

1

Должно быть в переменной экземпляра типа INT: int webViewLoads_; в .h файле.

+0

Работы, спасибо !!! – 0SX

1

Самый простой способ объявить в файле .m (реализации) в int, выше webViewDidStartLoad::

int webViewLoads_ = 0;

Не забудьте сбросить в 0, когда последний груз завершает:

webViewLoads_--; 
if (webViewLoads_ > 0) 
{ 
    return; 
} 
webViewLoads_ = 0; 
+0

+1 Спасибо за совет. – 0SX

+0

В качестве примечания стороны также следует сбросить до нуля, если пользователь остановит процесс загрузки. –

0

Вы можете сказать, когда веб-просмотр действительно «сделан» с использованием метода делегирования:

webView:didFinishLoadForFrame: 
+0

Я знаю, что это вопрос о нобе, но где бы я это сказал? Я бы просто сделал это: - (void) didFinishLoadForFrame: (UIWebView *) webView { – 0SX

+0

Не в UIKit (т.е. iOS). –

+0

@Alan. Это может быть причиной того, что я никогда не видел этого в Документах iOS. ;-) – 0SX