如下初始化 NSXLParser 时:
NSXMLParser* xmlParser=[[NSXMLParser alloc] initWithContentsOfURL:[NSURL URLWithString:urlstring]];
如果服务器关闭,它将等待相当长的时间,然后线程才返回。即使我退出应用程序并重新启动应用程序也很烦人,它会继续等待黑屏直到超时。
如何中止初始化?在调用解析器之前有没有更好的方法来检查服务器是否启动?感谢您的帮助。
如下初始化 NSXLParser 时:
NSXMLParser* xmlParser=[[NSXMLParser alloc] initWithContentsOfURL:[NSURL URLWithString:urlstring]];
如果服务器关闭,它将等待相当长的时间,然后线程才返回。即使我退出应用程序并重新启动应用程序也很烦人,它会继续等待黑屏直到超时。
如何中止初始化?在调用解析器之前有没有更好的方法来检查服务器是否启动?感谢您的帮助。
您应该使用 NSURLConnection 及其委托来下载到 NSData 类型。然后您可以正确控制连接。从那里您可以将 NSData 传递给 NSXMLParser 并单独控制它。我希望它对你有帮助。
我最终使用 UIWebView 首先请求 URL。如果它完成加载,我将调用 xmlparser 再次请求相同的 url。UIWebView 请求的好处是它在不同的线程上运行,因此 UI 不会冻结。
这不是想法;我讨厌两次请求相同的 URL。如果你有更好的建议,请帮忙。