NSData /从页面检索内容

时间:2011-06-27 10:07:09

标签: iphone objective-c xcode ipad nsurlconnection

我有一个页面在空白页面上显示一个字符串。我需要检索该字符串。如果我想同时和异步地这样做,我该怎么做? (如果有人给我同步和异步的方法名称,我将不胜感激。)

谢谢,

2 个答案:

答案 0 :(得分:1)

您可以使用NSString的{​​{3}}方法同步获取HTML页面,然后使用stringWithContentsOfURL:encoding:error:对其进行解析。

由于stringWithContentsOfURL:encoding:error:是阻塞调用,您应该将其放在方法中并使用NSXMLParser调用该方法。这将在后台检索HTML页面。

获得字符串后,创建NSXMLParser的实例并获取字符串。这是异步过程。

关于如何使用NSXMLParser - performSelectorInBackground:withObject:Make NSXMLParser your friend的几个示例。

答案 1 :(得分:0)

查看NSURLConnection参考。你想要的方法就在那里。另外,阅读URL Loading guide,它有一些同步和异步加载的代码示例。

repsonse的正文数据将是您想要的字符串。您需要对网站使用的编码有点谨慎。如果没有在响应中指定,它将是ISO-8859-1,否则它可能会在响应的Content-Type标头中指定。然后,您需要使用initWithData:encoding:

将数据转换为NSString

注意,如果您不在主线程上,则可以使用NSStering的stringWithContentsOfURL:usedEncoding:error:。你不应该在主线程上使用它,因为它是一种同步方法。