我用nsfetchedresultscontroller教程找到了很多核心数据,但是没有一个很容易理解,而且大多数都没有做我想要的。我想要的是一个表格视图,添加/删除单元格。我已经完成了这项工作!我只是想在应用程序离开时保存表格视图的状态!请一些人指出我正确指导的方向!谢谢大家!
答案 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中。当你回来时,你会回读那些数据,然后告诉桌面视图去那里,而不是动画。