UITableViewController 没有可见接口声明选择器 ReloadData
No visible interface for UITableViewController declares the selector ReloadData
我有一个 UITableViewController
作为我在应用程序中的主要 ViewController。我的目标是覆盖 reloadData
方法。
tableview 的 delegate 和 datasource 都自动设置在 Storyboard 中:
但是,当我在覆盖中调用 class 的 super 方法时,我得到了这个问题标题中看到的错误。
我的代码非常非常简单:
- (void)reloadData {
[super reloadData];
}
此外,当我在我的应用程序的其他部分没有覆盖的情况下调用 reloadData
时,它似乎不会触发 cellForRowAtIndexPath
:
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {
if ([elementName isEqualToString:@"theThingImLookingFor"]) {
[self.tableView reloadData]; //no error thrown, but no tableReloading either
}
}
我如何让它工作?我觉得我在这里遗漏了一些明显的东西......
UITableViewController
没有定义 reloadData
方法。这是一个 UITableView
方法。如果你已经定义了一个,除非你自己调用它,否则它不会被调用。我建议在您的 reloadData
方法上放置一个断点并查看它被调用的位置。
如果您自己调用 reloadData 方法,它不会执行任何操作。您需要调用 tableView 的 reloadData 方法。
您当然可以在 UITableViewController
中实现一个 reloadData 方法,该方法又会调用 table 视图的 reloadData 方法:
- (void)reloadData {
[tableView reloadData];
}
我有一个 UITableViewController
作为我在应用程序中的主要 ViewController。我的目标是覆盖 reloadData
方法。
tableview 的 delegate 和 datasource 都自动设置在 Storyboard 中:
但是,当我在覆盖中调用 class 的 super 方法时,我得到了这个问题标题中看到的错误。
我的代码非常非常简单:
- (void)reloadData {
[super reloadData];
}
此外,当我在我的应用程序的其他部分没有覆盖的情况下调用 reloadData
时,它似乎不会触发 cellForRowAtIndexPath
:
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {
if ([elementName isEqualToString:@"theThingImLookingFor"]) {
[self.tableView reloadData]; //no error thrown, but no tableReloading either
}
}
我如何让它工作?我觉得我在这里遗漏了一些明显的东西......
UITableViewController
没有定义 reloadData
方法。这是一个 UITableView
方法。如果你已经定义了一个,除非你自己调用它,否则它不会被调用。我建议在您的 reloadData
方法上放置一个断点并查看它被调用的位置。
如果您自己调用 reloadData 方法,它不会执行任何操作。您需要调用 tableView 的 reloadData 方法。
您当然可以在 UITableViewController
中实现一个 reloadData 方法,该方法又会调用 table 视图的 reloadData 方法:
- (void)reloadData {
[tableView reloadData];
}