iOS - NSXMLParser 失败时捕获

iOS - Catching When NSXMLParser Fails

在我的应用程序中,我使用 NSXMLParserUITableView 中显示 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 文档。为了以防万一其他人遇到这个问题,我就是这样解决的。