
然而,我想添加一个唯一的单元格作为表的最后一个单元格,与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所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)