使用NSFetchedResultsController教程保存表视图状态的质量核心数据

时间:2011-11-16 03:45:27

标签: iphone ios cocoa-touch uitableview core-data

我用nsfetchedresultscontroller教程找到了很多核心数据,但是没有一个很容易理解,而且大多数都没有做我想要的。我想要的是一个表格视图,添加/删除单元格。我已经完成了这项工作!我只是想在应用程序离开时保存表格视图的状态!请一些人指出我正确指导的方向!谢谢大家!

1 个答案:

答案 0 :(得分:1)

您正在查看错误的地方,请检查UITableView class reference此方法:

  

- (NSArray *)visibleCells
      返回接收器中可见的表格单元格。

或更好:

  

返回一个索引路径数组,每个索引路径标识接收器中的可见行        - (NSArray *)indexPathsForVisibleRows

最后

  

滚动接收器,直到索引路径标识的行位于屏幕上的特定位置    - (void)scrollToRowAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UITableViewScrollPosition)scrollPosition animated:(BOOL)animated

如果我理解你的问题 这些是您需要查看的信息,其余的应该是实现细节。


这不是一个或另一个 您需要了解这一点,NSFetchedResultsController的唯一目的是维护一组数据 UITableViewController不时调用NSFetchedResultsController并询问它,我需要在此位置显示哪些信息。

在其他时间UITableViewController打电话给NSFetchedResultsController然后告诉它,嘿......我有那个让别人告诉我删除的东西......我不知道怎么处理它,你可以照顾它(你必须实现这样的方法)。

但在任何情况下NSFetchedResultsController都不知道UITableView的位置,而且它永远不会告诉它去任何地方。它始终是相反的方式。

所以是的,你应该继续学习核心数据,这是一个非常有用的工具。

截至您的问题,当您的应用程序即将转到后台时,您有时间查看您的什么是visibleRows并在某处保存该信息,例如在NSUserDefault中。当你回来时,你会回读那些数据,然后告诉桌面视图去那里,而不是动画。