Я в настоящее время отлаживаю UIWebView, чтобы получить некоторую информацию для повышения производительности (на сервере и iPhone). Я заметил, что после вызова loadRequest: вызывается обратный вызов
- (void)webViewDidStartLoad:(UIWebView *)webView_
, однако каждый параметр запроса имеет значение NULL.
Я использую следующий оператор:
- (void)webViewDidStartLoad:(UIWebView *)webView_{
NSLog(@"%@ \t Start Request: %@ \n absolute: %@ \n Method: %@ \n Parameters: %@ \n Port: %@ \n Query: %@ \n Header Fields: %@ \n HTTPBody: %@ \n HTTPBodyStream: %@", [NSDate date], [[webView_ request] mainDocumentURL], [[[webView_ request] mainDocumentURL] absoluteString], [[webView_ request] HTTPMethod], [[[webView_ request] mainDocumentURL] parameterString], [[[webView_ request] mainDocumentURL] port], [[[webView_ request] mainDocumentURL] query], [[webView_ request] allHTTPHeaderFields], [[webView_ request] HTTPBody], [[webView_ request] HTTPBodyStream]);
}
Результат:
2011-05-11 17:15:34 +0200 Start Request: (null)
absolute: (null)
Method: GET
Parameters: (null)
Port: (null)
Query: (null)
Header Fields: {
}
HTTPBody: (null)
HTTPBodyStream: (null)
Есть ли какое-либо объяснение этому поведению или что-нибудь, чтобы исправить это?
Страница загружается нормально, однако загрузка запроса ничего не делает 30 секунд, которых я стараюсь избегать.
edit: некоторая дополнительная информация о загрузке веб-просмотра. Я вызываю метод, который добавляет веб-просмотр в UIView и загружает URL
UIWebView * web = [[UIWebView alloc] initWithFrame:CGRectMake(indent, topindent+indent, screenSize.width-2*indent, screenSize.height-2*indent-topindent)];
web.delegate = self;
[view addSubview:web];
NSURLRequest * someUrl = [NSURLRequest requestWithURL:[NSURL URLWithString:
@"some_URL"]];
[web loadRequest: someUrl];