簡體   English   中英

使用Cocoa / iPhoneSDK獲取URL的String內容的最快方法是什么?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM