Objective c 何时调用-tableView:cellforrowatinexpath:?

Objective c 何时调用-tableView:cellforrowatinexpath:?,objective-c,ios,uitableview,loadview,Objective C,Ios,Uitableview,Loadview,我在UITableViewController中加载表内容时遇到此问题。我已经创建了不带xib的UITableViewController。在loadView中,我正在调用一个函数,该函数生成要显示的数据数组。从tableView:cellforrowatinexpath:中的数组中,我正在尝试加载单元格。但不知怎的,我什么也没拿到。此外,当我为about call设置断点时,它似乎没有被调用。有人能告诉我这里做错了什么吗?在构建表时调用cellforrowatinexpath。 您是否已将表的

我在
UITableViewController
中加载表内容时遇到此问题。我已经创建了不带xib的
UITableViewController
。在
loadView
中,我正在调用一个函数,该函数生成要显示的数据数组。从
tableView:cellforrowatinexpath:
中的数组中,我正在尝试加载单元格。但不知怎的,我什么也没拿到。此外,当我为about call设置断点时,它似乎没有被调用。有人能告诉我这里做错了什么吗?

在构建表时调用cellforrowatinexpath。 您是否已将表的委托设置为self?
是否已将添加到.h?

cellforrowatindexpath在构建表时被调用。 您是否已将表的委托设置为self?
是否已添加到.h?

-tableView:cellForRowAtIndexPath:在需要新单元格时被调用,无论是在第一次用单元格填充屏幕时,还是在将新单元格滚动到屏幕时,但如果没有为表视图返回正确数量的节和行,则永远不会调用它,因为默认情况下它们将为0

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

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

-tableView:cellForRowAtIndexPath:
在需要新单元格时被调用,无论是在第一次用单元格填充屏幕时,还是在将新单元格滚动到屏幕时,但如果没有为表视图返回适当数量的节和行,它将永远不会被调用,因为默认情况下它们将为0

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

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

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


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

正如eimantas所说,您必须设置UITableView=(指向)具有tableView:cellForRowAtIndexPath方法的类的“dataSource”委托


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

loadView
方法中输入一点代码会有所帮助。除此之外-一旦创建了该视图,请尝试在表上调用
reloadData
。您是否从tableView委托的
NumberOfSectionsTableView
numberOfRowsInSection:
方法返回正确的值?否。我得到0表示n行数。
loadView
方法中的一点代码会有所帮助。除此之外-一旦您创建了该视图,请尝试调用表中的
reloadData
。您是否从tableView委托的
numberOfSectionsInTableView
numberofrowsinssection:
方法返回正确的值?不,不是。我是getting 0表示行数。它是必须设置的数据源。委托负责行选择,而不是显示。my.h类似于类名:UITableViewController{}如果您已经创建了
UITableViewController
子类,它们的委托和数据源已经正确设置,只需确保返回正确数量的节和行,并且在更新数据源(添加/删除/更改数组中的对象)时调用
[self.tbleView reloadData];
。它是必须设置的数据源。委托负责行选择,而不是显示。my.h类似于此类名:UITableViewController{}如果您已经创建了
UITableViewController
子类,它们的委托和数据源已经正确设置,只需确保返回正确数量的节和行,并且在更新数据源(添加/删除/更改数组中的对象)时调用
[self.tbleView reloadData];
.我猜在调用numberOfRowsInSection时,我的数组是空的。在调用行数之前,我如何构建我的数组?您不需要这样做。只需调用
[self.tableView reloadData]当数组准备就绪时。
我想当调用numberOfRowsInSection时,我的数组是空的。我如何在调用行数之前构建我的数组?你不需要。当数组准备就绪时,只需调用
[self.tableView reloadData];