这是我的问题。我在标签栏应用程序中有一个屏幕,显示搜索栏和 UITableView。当您第一次打开选项卡时,UITableView 是空的。输入搜索后,iPhone 会根据查询获取并解析 XML。
所有这些都运行良好。我将 XML 数据添加到应该填充表的基础数组中。我已经验证该数组包含数据,并且不为空。我搜索后 UITableView 仍为空白。有什么帮助吗?
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar {
//test line
NSLog(@"%@",searchBar.text);
NSString *criteria = [[NSString alloc] initWithString:searchBar.text];
//Parse xml
NSString *uidString = @"55555";
NSString *varString = [[NSString alloc] initWithFormat:@"qryid=4&uid=%@&Criteria=%@",uidString,criteria];
NSString *urlString = [[NSString alloc] initWithString:@"http://services.auctiontrac.com/websvc.asp"];
NSString *parsingString = [[NSString alloc] initWithFormat:@"%@?%@",urlString,varString];
xmlSearch = [[XMLSearch alloc] loadXMLByURL:parsingString];
//init array for table
tableArray = [[NSMutableArray alloc] init];
carTable = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
[carTable reloadData];
//Add search results to UITableView
for (Car *c in [xmlSearch cars]) {
[tableArray addObject:c.make];
NSLog(@"Added item with make: %@",c.make);
}
[searchBar resignFirstResponder];
}
如果您需要更多代码来回答这个问题,请告诉我。
最佳答案
请确保您已为 UITableView
设置了 dataSource
并在表格 View 上调用了 -reloadData
更新保存数据的数组之后。
调用-reloadData
将提示表格 View 向其数据源询问部分的数量、每个部分的行数以及UITableViewCell
的数据目前可见。我假设您的数据源方法从 tableArray
获取行数和每行的数据。这意味着当您调用 [carTable reloadData]
时,tableArray
必须包含最新数据。
关于ios - 为什么我的 UITableView 不显示数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3206766/