В viewDidLoad
, я использую NSURLRequest
и NSURLConnection
:Как получить содержимое HTML веб-сайта
NSURLRequest *site_request =
[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.com/"]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
NSURLConnection *site_connection =
[[NSURLConnection alloc] initWithRequest:site_request delegate:self];
, а затем я использую
-(void)connection:(NSURLConnection *)site_connection didReceiveData:(NSData *)data
{
site_response = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
}
и у меня есть весь HTML в site_response
.
Я хочу создать невидимую UIWebView
, который будет «открыть» страницу из NSURLRequest
для того, чтобы использовать JavaScript для получения контента, как это:
NSString *myText = [my_webView stringByEvaluatingJavaScriptFromString:
@"document.documentElement......"];
В моей .h у меня есть:
UIWebView *my_webview;
@property (nonatomic, retain) UIWebView *my_webview;
и в моей .m у меня есть:
@synthesize torrents_webview;
Мои viewDidLoad
после NSURLRequest
имеет
[my_webview loadRequest:site_request];
и я использую
-(void)webViewDidFinishLoad:(UIWebView *)webView
{
//an alertview here
}
для того, чтобы убедиться, что она работает. Но ничего не происходит. Он не дает предупреждения.
Что я делаю неправильно?
спасибо за ответ, я добавил делегат дважды, как Вы предложили, но Бесполезный Не работаю, я не добавил - (void) dealloc { self.webView.delegate = nil; } я могу избежать NSURLConnection, но скажите мне что-то, когда я создаю NSURLRequest в viewDidLoad, он сразу получает содержимое страницы? – invader7
Создание NSURLRequest не получит ничего, но вы передаете запрос NSURLConnection, который получит запрос при его запуске (что я предположил, что вы делали, но не показывали следующую строку, иначе почему есть NSURLConnection?) – Gruntcakes
Ok i удалил NSURLConnection, я понял, что от вас тоже не должно быть благодарности. Вероятно, я пропустил часть «получит запрос, когда вы начнете» – invader7