我正在编写一个iPhone应用程序,它以XML格式从Web服务中检索数据。如果Web服务未找到任何数据,则返回空文档,如
<?xml version="1.0"?>
<root_element/>
正在解析此数据,然后将其添加到数组中,随后添加到表视图中。
在我的-numberOfRowsInSection
我有return [self.array count];
但显然如果文档为空,则没有任何内容添加到数组中,并且我没有得到解析错误,而是出现index out of bounds
错误。是否有isDocumentEmpty
方法或某些此类方法来检查文档是否包含元素?
你怎么建议我检查一下?我应该用什么方式提醒用户?警报视图,然后弹出控制器?
感谢。
答案 0 :(得分:0)
您可以使用:
-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI
qualifiedName:(NSString *)qName
attributes:(NSDictionary *)attributeDict
并检查root_element/
作为elementName
答案 1 :(得分:0)
关于如何使用NSXMLParser解析XML数据,您可以从Apple检查SeismicXML示例应用程序。
在此应用程序中,XML解析在后台线程上进行,并使用批处理的对象更新地震表视图。
答案 2 :(得分:0)
我认为问题在于您要重新加载tableview。当您从数组中访问超出数组索引范围的元素时,会生成超出范围的异常。
所以这里有一些调试技巧可以确切地知道你的问题是什么
你会发现你正在做的错误。
如果这没有帮助。请显示一些代码段。
谢谢,
Madhup