我是目标c的新手,我正在为安卓和iPhone做同样的应用程序。
在Java中,我使用一个try-catch块来捕获网络异常并处理它。
在目标C中,我使用的是:
[[NSXMLParser alloc] initWithContentsOfURL:url]所以,在解析输入流时,我如何处理网络异常,所以如果网络崩溃或出现任何问题,我可以通知用户并使我的应用程序正常工作?
发布于 2013-09-18 09:12:27
如果您使用的是NSXMLParser,那么使用它的delgate方法。
- (void)parser:(NSXMLParser *)parser parseErrorOccurred:(NSError *)parseError
{
NSLog(@"Error = %@", parseError);
}发布于 2013-09-18 09:12:48
使用initWithContentsOfURL:方法从来都不是一个好主意。
您最好通过NSURLConnection或像AFNetworking这样的库检索数据。这将允许您处理HTTP状态代码和网络错误。
例如,NSURLConnectionDelegate有一个回调方法– connection:didFailWithError:,它将在发生错误时被调用。然后,您可以检查错误对象,看看出了什么问题。
发布于 2013-09-18 09:28:09
在调用URL之前,您可以检查internet的连接性。
我建议你看看下面的链接How to check for an active Internet connection on iOS or OSX?
我建议解析XML文件时使用raptureXML,这非常简单。https://github.com/ZaBlanc/RaptureXML
https://stackoverflow.com/questions/18868031
复制相似问题