我有一个页面在空白页面上显示一个字符串。我需要检索该字符串。如果我想同时和异步地这样做,我该怎么做? (如果有人给我同步和异步的方法名称,我将不胜感激。)
谢谢,
答案 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:。你不应该在主线程上使用它,因为它是一种同步方法。