2010-05-18 39 views
0

我正在寻找一个“没有完成,或完成”在NSURL东西 - >的NSString initWithContentsOfUrl检查做NSURL负载

,我发现“URLResourceDidFinishLoading”但这似乎折旧

我不能”找到任何,但也许我找到了错误的东西。

在此先感谢亚历克斯

回答

1

如果你从NSString谈论-initWithContentsOfURL:,它一直deprecated

但是,即使你使用它,这是一个同步的方法 - 这意味着你的代码将停止,直到数据已经加载到所产生的NSString对象:

NSURL *url = [NSURL URLWithString:@"http://google.com"]; 
NSString *htmlData = [NSString stringWithContentsOfURL:url]; 
NSLog(@"%@", htmlData); // you have your data loaded here, synchronously. 

所以,仅仅是明确的:这是主要有两个原因不好的做法

  1. 您使用的是过时的方法,这将很可能被未来的SDK版本删除,和;
  2. 您在加载网络内容时冻结了用户界面,同时不会向用户提供任何反馈。

你需要的是可能NSURLRequest创建您的请求对象和NSURLConnection实际上从网络上加载它。

+0

谢谢,很高兴知道。 我还没有看到“initWithContentsOfURL”也被弃用 正是我所期待的。 – 2010-05-19 07:51:13