我目前正在使用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];
}
从这里我想知道如何在numberOfSectionsInTableView方法中设置tableview的行数?我会称之为什么变量,还是我必须创造其他东西?
答案 0 :(得分:1)
Apple Sample Code Code中有很好的解析XML的教程 它被称为SeismicXML
在你的问题中你有错误:numberOfSectionsInTableView没有返回行数 - 它的返回部分计数。在大多数情况下,如果你有普通的tableview,它应该返回1。
并且此代码返回此部分中的行数
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [YOUR_ARRAY count];
}
答案 1 :(得分:0)
如果我没有误解你,以下问题会有所帮助。
1希望您已经在elementDidEnd方法的某个数组中保存了所有项目值。
2写下如下代码。
if([parser parse]){
[tableView reloadData];
}
一旦完成解析,这将重新加载表。
3返回存储所有项值的数组的计数,并用该数组填充表。
如果您需要更多帮助,请发布。