Iphone cellForRowAtIndexPath未被调用所需次数
我试图实现的功能是,首先我在Iphone cellForRowAtIndexPath未被调用所需次数,iphone,objective-c,ios,uitableview,Iphone,Objective C,Ios,Uitableview,我试图实现的功能是,首先我在UITableView中显示两行,这显示得非常完美。然后在didSelectRowAtIndexpath:上,我在UITableView中添加numberOfRows,在添加numberOfRows和所需数据后,我将重新加载UITableView 我的问题是,我正在传递numberofrowsin部分中的新行数:(我已经检查过,它传递正确),但是cellforrowatinexpath:在此之后只调用了两次,这是以前的numberOfRows值 我的代码: - (NS
UITableView
中显示两行,这显示得非常完美。然后在didSelectRowAtIndexpath:
上,我在UITableView
中添加numberOfRows
,在添加numberOfRows
和所需数据后,我将重新加载UITableView
我的问题是,我正在传递numberofrowsin部分中的新行数:
(我已经检查过,它传递正确),但是cellforrowatinexpath:
在此之后只调用了两次,这是以前的numberOfRows
值
我的代码:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return self.currentSubCategoryRows;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
// My code for cell construction goes here
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[self.arrWithAdditionalValues addObjectsFromArray:[self.dictSubCategoriesLevel3 objectForKey:[NSString stringWithFormat:@"%d",rowOpened]]];
self.currentSubCategoryRows += self.arrWithAdditionalValues.count;
[tableView reloadData];
}
原因可能是什么
任何帮助都将不胜感激 尝试在
视图中重新加载表格将出现
- (void)viewWillAppear:(BOOL)animated {
[tableview reloadData];
}
cellForRowAtIndexPath:仅在绘图需要时调用。您必须在不控制何时调用该方法的情况下构建该方法。我找到了解决方案
当我根据cellforrowatinexpath:
中的行数调整UITableView
的大小时,这就是为什么UITableView
的下一部分不可见,而对于UITableView
中不可见的部分,cellforrowatinexpath:
从不调用
很抱歉打扰大家
非常感谢你的帮助 你能在这里展示你如何增加行数的代码吗?请给我们展示代码。我已经用代码编辑了我的问题…建议你将numberOfRows…
的返回紧密结合到实际的模型上(不要试图独立管理它)。无论您在cellForRow…
中使用什么模型,都应该有(例如)从numberOfRows…
返回的count
。您将失去这两者之间的奇偶校验并使应用程序崩溃,这是相当危险的:-/是您的数组,即arrWithAdditionalValues正在更新值吗?在调用didSelectRowAtIndexPath之前和之后它包含什么?但是我想从didSelectRowAtIndexPath重新加载它:在选择行时,我想添加新行…我想你是对的,只要我滚动表视图,它就会更新,但是如果我想在重载数据中更新它呢?如果你需要处理CellForRowatineXpath:那么你就错了。这种方法不是为了你的需要,而是为了系统。让它在需要时调用该方法,并根据需要多次调用。需要进行的计算必须使用其他方法进行,您可以在需要时启动这些方法。