[英]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.