gpt4 book ai didi

ios - 向 NSFetchedResultsController 管理的 UITableView 添加额外的行

转载 作者:技术小花猫 更新时间:2023-10-29 11:01:30 27 4
gpt4 key购买 nike

我正在为我的应用程序中的表格使用 UITableViewController,并且我添加了一个 NSFetchedResultsController 以提供要在表格中显示的数据(设置 self 作为委托(delegate))。

但是我想添加一个唯一的单元格作为表格的最后一个单元格,与 NSFetchedResultsController 的谓词生成的项目无关,我希望这个单元格始终位于底部 table 。

我试过简单地向 TableView 数据源中的这些方法添加 1:

- (NSUInteger)numberOfSectionsInTableView:(UITableView *)sender
{
return [[self.fetchedResultsController sections] count] + 1;
}
- (NSUInteger)tableView:(UITableView *)sender numberOfRowsInSection:(NSUInteger)section
{
return [[[self.fetchedResultsController sections] objectAtIndex:section] numberOfObjects] + 1;
}

然后捕获像这样生成额外行的情况(该表只有 1 个部分):

- (UITableViewCell *)tableView:(UITableView *)sender
cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.row == [self.fetchedResultsController.fetchedObjects count]) {
//Generate the last cell in table.
} else {
//Generate the rest of the cells like normal.
}
return nil; //To keep the compiler happy.
}

这会检查索引是否是最后一个单元格并适本地处理它。

但是我在运行时仍然收到以下错误:

*** Terminating app due to uncaught exception 'NSRangeException', 
reason: '*** -[__NSArrayM objectAtIndex:]: index 1 beyond bounds [0 .. 0]'

知道是什么原因造成的吗?或者是否有更好的方法向 NSFetchedResultsController 控制的 TableView 添加额外的行?

最佳答案

如果您实现文档中指示的所有数据源方法(更新等),则获取的结果 Controller 与 TableView 紧密相关。它会变得非常困惑和骇人听闻。

您的“额外行”可以改为表格的页脚 View 吗?这将永远在底部。使它看起来像一个单元格并没有太多的工作,尽管从它的外观来看,您无论如何都希望它看起来与其他单元格不同。

关于ios - 向 NSFetchedResultsController 管理的 UITableView 添加额外的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9604410/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com