Gre*_*reg 9 html iphone uiwebview nsurlconnection ios
在我的网页浏览器,我试图加载UIWebView与NSData从获得的NSURLConnection.当我尝试将其加载到UIWebView而不是网站时,它会提供HTML纯文本.
这是我的代码:
在 viewDidLoad:
NSURLRequest *request = [NSURLRequest requestWithURL: [NSURL URLWithString:@"http://www.msn.com"]];
[NSURLConnection connectionWithRequest: request delegate:self];
Run Code Online (Sandbox Code Playgroud)
稍后在代码中:
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
webdata = [NSMutableData dataWithData: data];
}
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
[webview loadData:webdata MIMEType: @"text/html" textEncodingName: @"UTF-8" baseURL:nil];
}
Run Code Online (Sandbox Code Playgroud)

Ind*_*ore 14
您没有附加您收到的数据.使用这段代码
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{
if (webdata == nil) {
webdata = [[NSMutableData alloc] init];
}
[webdata appendData:data];
}
Run Code Online (Sandbox Code Playgroud)
根据您的数据长度,可能会调用此方法一次或多次.因此,不是将新数据分配给您的ivar,而是将数据附加到它,以便您获得完整的响应而不是最后收到的数据包.
-------------------------------------------------- -------------------------------------------------- --------------------------------
更新
或使用这样的.
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{
webdata = [[NSMutableData alloc] init];
}
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{
[webdata appendData:data];
}
-(void)connectionDidFinishLoading:(NSURLConnection *)connection{
[mWebView loadData:webdata MIMEType: @"text/html" textEncodingName: @"UTF-8" baseURL:nil];
}
Run Code Online (Sandbox Code Playgroud)