也许这是一个类似的开始,但这是真的。
首先抱歉,如果格式不正确,第一次这样做。我一直在使用stackoverflow来寻求帮助很长一段时间,它非常有帮助(谢谢大家),但这是我第一次发布自己的问题。这个问题已被多次询问,但是当我调用[self.tableView reloadTable]时,会调用numberOfSectionsInTableView和numberOfRowsInSection方法,但不会调用cellForRowAtIndexPath。
我在搜索时看到的每个答案都是以下的变体:
nil
numberOfRowsInSection
为0 但我不确定4.在错误的uiTableView上调用reloadTable。或者是其他一些错误。
现在我的APP类似于 dropbox ,
首先,当我们登录它时,我们在TableView中得到一个文件列表(包括目录)。我在[self.navigationController.view addSubview:toolBar]
的视图底部添加了一个工具栏,当我触摸按钮项“刷新”时,它致电[self.tableView reloadData]
并且运作良好。
第二,当我们选择一个目录时,我们将获得pushViewController
self.navigationController
的新文件列表,但是这次当我们触摸“刷新”时,语句[self.tableView reloadData]调用numberOfSections,numberOfRows,而不是cellForRowAtIndexPath
为什么第二次没有调用cellForRow的想法?提前谢谢。
FileListViewController.h
@interface FileListViewController : UITableViewController <UITableViewDelegate, UITableViewDataSource>
FileListViewController.m
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if (isDir) {
FileListViewController *fileListViewController = [[FileListViewController alloc] init];
[self.navigationController pushViewController:fileListViewController animated:YES];
}
}
- (void)refresh
{
[Utilities refresh];//Utilities is my custom class.
[self viewDidLoad];
[self.tableView reloadData];
}
表格视图中的部分和行的返回编号不是0.
当我将NSLog(@"Calling reloadData on %@", self.tableView);
添加到“刷新”时:
- (void)refresh
{
[Utilities refresh];//Utilities is my custom class.
[self viewDidLoad];
NSLog(@"Calling reloadData on %@", self.tableView);
[self.tableView reloadData];
}
然后它返回Calling reloadData on; contentOffset:{0,0}&gt;。委托:FileListViewController,DataSource:FileListViewController