要拉我的头发。
我的tableview突然停止加载数据。
我在numberOfRowsInSection
和cellForRowAtIndexPath
中有断点。 numberOfRowsInSection
就像
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [objects count];
}
由于某种原因,被调用三次,当视图最初加载时,objects
数组中的对象数为0,这可以理解,因为tableview最初没有任何数据。
从服务器获取数据并将这些对象存储在objects
数组中并调用[self.tableView reloadData];
后,numberOfRowsInSection
会再次调用objects
数组中的对象数这次是46岁,但由于某种原因,它仍然没有继续进入cellForRowAtIndexPath
。
我尝试在主线程上重新加载数据 -
dispatch_async(dispatch_get_main_queue(), ^{
[self.tableView reloadData];
});
没用。
我检查了所有拼写。
当我重新加载数据时,检查我的UITableView
对象不是nil。
表格视图的框架在viewDidLoad
中为320.0000 * 568.0000。
不知道出了什么问题。我假设我打破了一些东西,因为数据加载得很好。
答案 0 :(得分:1)
我假设您正在从另一个视图加载视图,那么您应该在ViewDidLoad上调用[tableView reloadData]并在那里更新dataSource数组。这是因为视图生命周期 - 当您从一个视图返回并且您的tableView数据源更新时,视图生命周期将如下所示:
因此,当您更新tableView的数据源对象并在viewDidLoad期间调用reloadData时,将解决该问题。
答案 1 :(得分:0)
[self.tableView beginUpdates];
我不知道何时以及为何添加此内容,然后忘记致电endUpdates
。叹息。
感谢社区。巨大的帮助!