我有一个tableview,我想根据它有多少行进行自定义。
如果没有行,我希望背景图片提示用户添加内容。 如果它有1行或更多行,我希望它有不同的背景图像,以显示内容。
顺便说一句,我正在使用提取的结果控制器来填充我的tableview。
有什么想法吗?
答案 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