检查做NSURL负载
问题描述:
我正在寻找一个“没有完成,或完成”在NSURL东西 - >的NSString initWithContentsOfUrl检查做NSURL负载
,我发现“URLResourceDidFinishLoading”但这似乎折旧
我不能”找到任何,但也许我找到了错误的东西。
在此先感谢亚历克斯
答
如果你从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.
所以,仅仅是明确的:这是主要有两个原因不好的做法:
- 您使用的是过时的方法,这将很可能被未来的SDK版本删除,和;
- 您在加载网络内容时冻结了用户界面,同时不会向用户提供任何反馈。
你需要的是可能NSURLRequest
创建您的请求对象和NSURLConnection
实际上从网络上加载它。
谢谢,很高兴知道。 我还没有看到“initWithContentsOfURL”也被弃用 正是我所期待的。 – 2010-05-19 07:51:13