Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone cellForRowAtIndexPath未被调用所需次数_Iphone_Objective C_Ios_Uitableview - Fatal编程技术网

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:那么你就错了。这种方法不是为了你的需要,而是为了系统。让它在需要时调用该方法,并根据需要多次调用。需要进行的计算必须使用其他方法进行,您可以在需要时启动这些方法。