iOS - NSXMLParser 失败时捕获
iOS - Catching When NSXMLParser Fails
在我的应用程序中,我使用 NSXMLParser
在 UITableView
中显示 Drudge Report 的 RSS 提要中的所有文章。有时,Drudge Report 的 RSS 提要 xml 在线会因为他们有时不正确地添加提要而出现错误。发生这种情况时,我的 NSXMLParser
甚至懒得去尝试解析 xml 文件,我最终得到一个空白的 UITableView
。
它的缺点是 NSXMLParser
甚至没有向其错误处理委托方法发送消息,这意味着我目前没有办法告诉用户获取文章来自 Drudge Report 的 RSS 提要失败。
有什么办法可以解决这个问题吗?
我最终使用以下代码解决了我自己的问题:
if ([parser parse]) {
NSLog(@"PARSING WAS SUCCESSFUL");
NSLog(@"NUMBER OF FEEDS THO: %lu", (unsigned long)feeds.count);
[self hideLoadingCoverView];
}
else {
[self displayFailureToGetArticles];
}
显然,在 NSXMLParser
returns 上调用 parse
方法是一个布尔值,用于判断是否成功解析在线 xml 文档。为了以防万一其他人遇到这个问题,我就是这样解决的。
在我的应用程序中,我使用 NSXMLParser
在 UITableView
中显示 Drudge Report 的 RSS 提要中的所有文章。有时,Drudge Report 的 RSS 提要 xml 在线会因为他们有时不正确地添加提要而出现错误。发生这种情况时,我的 NSXMLParser
甚至懒得去尝试解析 xml 文件,我最终得到一个空白的 UITableView
。
它的缺点是 NSXMLParser
甚至没有向其错误处理委托方法发送消息,这意味着我目前没有办法告诉用户获取文章来自 Drudge Report 的 RSS 提要失败。
有什么办法可以解决这个问题吗?
我最终使用以下代码解决了我自己的问题:
if ([parser parse]) {
NSLog(@"PARSING WAS SUCCESSFUL");
NSLog(@"NUMBER OF FEEDS THO: %lu", (unsigned long)feeds.count);
[self hideLoadingCoverView];
}
else {
[self displayFailureToGetArticles];
}
显然,在 NSXMLParser
returns 上调用 parse
方法是一个布尔值,用于判断是否成功解析在线 xml 文档。为了以防万一其他人遇到这个问题,我就是这样解决的。