ios – 将额外的行添加到由NSFetchedResultsController管理的UITableView

ios – 将额外的行添加到由NSFetchedResultsController管理的UITableView,第1张

概述我在我的应用程序中使用了一个UITableViewController表,并且我添加了一个NSFetchedResultsController来提供表中显示的数据(设置为自己的委托). 然而,我想添加一个唯一的单元格作为表的最后一个单元格,与NSFetchedResultsController的谓词生成的项目无关,我希望这个单元格始终位于表的底部. 我已经尝试在表视图数据源中简单地添加了1个这些方 我在我的应用程序中使用了一个UItableVIEwController表,并且我添加了一个NSFetchedResultsController来提供表中显示的数据(设置为自己的委托).

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

我已经尝试在表视图数据源中简单地添加了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紧密相连,如果您按照文档(更新等)中所示实现所有数据源方法.它会变得很混乱和黑客.

你的“额外的行”可以是表的页脚视图吗?这将永远在底部.它不会太多的工作,使它看起来像一个单元格,虽然从它的外观,你希望它看起来不同于其他单元格反正.

总结

以上是内存溢出为你收集整理的ios – 将额外的行添加到由NSFetchedResultsController管理的UITableView全部内容,希望文章能够帮你解决ios – 将额外的行添加到由NSFetchedResultsController管理的UITableView所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1096538.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存