当前位置:  开发笔记 > IOS > 正文

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

如何解决《使用Cocoa/iPhoneSDK获取URL的String内容的最快方法是什么?》经验,为你挑选了2个好方法。

说我想得到的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);

Ben Gottlieb.. 9

最快的方法是使用NSString的+stringWithContentsOfURL:方法.但是,这是一个模态调用,并且您的应用程序在运行时将无响应.您可以将其移动到后台线程,也可以使用NSURLConnection类来生成正确的异步请求.



1> Ben Gottlieb..:

最快的方法是使用NSString的+stringWithContentsOfURL:方法.但是,这是一个模态调用,并且您的应用程序在运行时将无响应.您可以将其移动到后台线程,也可以使用NSURLConnection类来生成正确的异步请求.


的方法是使用NSString的

2> Brian Gianfo..:

实现此目的的一种方法如下,但正如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上找到有关编写正确的委托方法以处理异步连接的信息.

推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有