如何从UITableView获取行计数

时间:2009-12-03 01:50:41

标签: iphone uitableview

我有一个tableview,我想根据它有多少行进行自定义。

如果没有行,我希望背景图片提示用户添加内容。 如果它有1行或更多行,我希望它有不同的背景图像,以显示内容。

顺便说一句,我正在使用提取的结果控制器来填充我的tableview。

有什么想法吗?

4 个答案:

答案 0 :(得分:28)

这通常很容易实现,因为您只需要通过.m文件中包含的适当委托方法将UITableView正确委托给ViewController。

然后你可以在任何地方得到这样的行数:

[tablePropertyName numberOfRowsInSection:SECTION_NUMBER];

其中第一节的节编号为0,第二节的编号为1,等等。

答案 1 :(得分:5)

我同意Sixten Otto的回答。

[myFetchedResultsController.fetchedObjects count];

然而还有更多。无论部分如何,上面的行都将返回对象的数量。但是,如果您希望在具有多个部分的表上执行此操作,则必须按以下方式调用它。

[[myFetchedResultsController.sections objectAtIndex:<section>] numberOfObjects];

您可以获取此部分的对象。

[[myFetchedResultsController.sections objectAtIndex:<section>] objects];

**您必须替换代表该部分的数字。

希望这有帮助。

答案 2 :(得分:1)

我建议您查看NSFetchedResultsController的文档。它有用于实现UITableViewDataSource方法的示例代码(包括表示表有多少部分,每个部分有多少行)以及记录属性fetchedObjects的示例代码。可以用来查看你获取了多少原始结果。

[myFetchedResultsController.fetchedObjects count];

答案 3 :(得分:1)

在Swift中,您可以通过

获取UITableView行数
yourTableViewName.numberOfRows(inSection: Int)

示例:

yourTableViewName.numberOfRows(inSection: 0) // returns rows count in section 0