什么时候-tableView:cellForRowAtIndexPath:被调用?

时间:2012-02-11 19:14:02

标签: objective-c ios uitableview loadview

我在UITableViewController中加载表格内容时出现此问题。我创建了没有xib的UITableViewController。在loadView中,我调用的函数生成要显示的数据数组。从tableView:cellForRowAtIndexPath:中的那个数组我试图加载单元格。但不知何故,我在桌上什么都没得到。除此之外,当我设置关于呼叫的断点时,似乎没有被调用。谁能说出我在这里做错了什么?

3 个答案:

答案 0 :(得分:4)

无论何时需要新单元格,无论是首次使用单元格填充屏幕,还是将新单元格滚动到屏幕中,都会调用

-tableView:cellForRowAtIndexPath:,但如果您没有返回正确的单元格,则永远不会调用它表视图的节和行数,因为它们默认为0。

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return [yourArray count];
}

答案 1 :(得分:0)

构建表时会调用

cellforrowatindexpath。 您是否将表的委托设置为自己? 你加入了你的.h?

答案 2 :(得分:0)

正如eimantas所说,你必须使用tableView:cellForRowAtIndexPath方法设置你的UITableView =(指向)yourClass的“dataSource”委托......

这是在需要新单元格时调用的方法(第一次看到表格创建所需数量的单元格以覆盖表格高度的整个高度),然后在用户滚动表格时调用它(不是创建新的单元格,但要使用所需的新数据重用旧单元格