如何从NSXMLParserdelegate方法返回tableview的行计数



我目前使用ASIHTTPRequest包装器连接到我的数据库,通过php脚本,基本上它查询数据库,然后以xml格式返回结果集。

从那里我实例化我的解析器方法,返回传递所有所需的信息给NSXMLParserDelegate方法

//..
parser:didStartElement:namespaceURI:qualifiedName:attributes:
//..
parser:foundCharacters:
//..
parser:didEndElement:namespaceURI:qualifiedName:
//..

当初始数据流下来时,数据首先通过NSMutableData变量传递。

然后在我的解析器中有一个if语句:didStartElement:namespaceURI:qualifiedName:attributes:根据条件 将所有数据传递到字符串中
if ([elementName isEqual:@"item"]) {
        // NSLog(@"Found title!");
        itemString = [[NSMutableString alloc] init];
    }

从这里我想知道我如何设置tableview内的numberOfSectionsInTableView方法的行数?我应该在哪个变量上调用count还是我需要创建其他变量?

在Apple示例源代码中有很好的解析XML教程它叫做SeismicXML

http://developer.apple.com/library/ios/samplecode/SeismicXML/清单/Classes_RootViewController_m.html #//apple_ref/doc/uid/DTS40007323-Classes_RootViewController_m-DontLinkElementID_8

在你的问题你有错误:numberOfSectionsInTableView没有返回行计数-它的返回部分计数。大多数情况下,如果你有普通的表视图它应该返回1。

和此代码返回此部分

中的行数
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return [YOUR_ARRAY count];
}

如果我没有误解你的问题,下面将对你有所帮助。

1希望你已经在elementDidEnd方法中保存了一些数组中项目的所有值。

2编写如下代码。<代码>
如果([解析器解析]){[tableView reloadData];}

这将在解析完成后重新加载表。

3返回存储所有项值的数组的计数,并将该数组填充到表中。

最新更新