[英]What is the quickest way to get the String contents of a URL using Cocoa/iPhoneSDK?
说我想得到的HTML
http://www.google.com
使用Cocoa Touch框架的一些内置类作为String。
我需要编写的代码量最少?
我已经走到了这一步,但无法弄清楚如何进步。 必须有一个更简单的方法。
CFHTTPMessageRef req;
NSURL *url = [NSURL URLWithString:@"http://www.google.com"];
req = CFHTTPMessageCreateRequest(kCFAllocatorDefault,
CFSTR("GET"),
(CFURLRef)url,
kCFHTTPVersion1_1);
way is to use NSString's +stringWithContentsOfURL:
method. 方法是使用NSString的+stringWithContentsOfURL:
方法。 但是,这是一个模态调用,并且您的应用程序在运行时将无响应。 您可以将其移动到后台线程,也可以使用NSURLConnection类来生成正确的异步请求。
实现此目的的一种方法如下,但正如Ben Gottlieb所指出的,这是一个synchronouseRequest,并且会导致程序的执行等待此函数调用的返回,可能会使您的应用程序无响应。
NSURL *url = [ NSURL URLWithString: @"http://www.google.com"];
NSURLRequest *req = [ NSURLRequest requestWithURL:url
cachePolicy:NSURLRequestReloadIgnoringCacheData
timeoutInterval:30.0 ];
NSError *err;
NSURLResponse *res;
NSData *d = [ NSURLConnection sendSynchronousRequest:req
returningResponse:&res
error:&err ];
您可以在Apple dev-docs上找到有关编写正确的委托方法以处理异步连接的信息 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.