ios - 为什么我的 UITableView 不显示数据?

标签 ios iphone xml uitableview load

这是我的问题。我在标签栏应用程序中有一个屏幕,显示搜索栏和 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/

相关文章:

iphone - 完全困惑在哪里更改 openCV 中的代码

xml - 使用 XSLT 自动生成 XML 模式

ios - UITextView setContentOffset :CGPointZero in layoutSubviews doesn't work in iOS8

iphone - 防止方法被不同实体同时调用的优雅方式

ios - 如何修复 SKEmitterNode 的内存泄漏?

ios - 当应用程序进入后台/事件状态时安全地暂停/恢复远程 UIWebView WebSockets

iphone - UITableViewDataSource 委托(delegate)

android - 从网站推送通知到移动应用程序

java - 如何在 Java 中将 Badgerfish 风格的 JSON 转换为 XML?

iOS - 将项目添加到 plist