展开使用核心数据折叠TableView部分任何更优雅的想法

时间:2014-04-02 16:30:24

标签: core-data nsfetchrequest

就是这种情况。 我有一个约20个部分的表(用户可以添加更多)每个部分可以有很多项(取决于用户)。 我已实现了一个部分折叠 - 扩展方案并且运行良好。 我有一个自定义的分区标题视图带有一个按钮来切换打开和关闭状态。 我正在使用NSFetchRequest从Core Data获取所有部分(初始状态仅显示Closed部分)。 每次用户点击标题按钮时,我都会使用谓词来获取属于该部分的项目,Section会在适当的位置打开单元格动画,并且一切正常。

我想知道有没有更好的方法来处理核心数据,任何更优雅的想法都会受到高度赞赏。

====================================编辑========== ======================== MARCUS的建议比矿井好10倍。 谢谢MARCUS

1 个答案:

答案 0 :(得分:1)

我建议有一个NSFetchedResultsController并保持数据生效。然后有一个状态数组,让各部分知道它们是打开还是关闭。从那里你可以通过首先检查状态来回答“行数”问题,然后如果状态是开放的,则询问NSFetchedResultsController该部分中实际有多少项并回答答案。

当用户点击某个部分时,您可以告诉表格通过动画等添加单元格,并在关闭时删除它们。没有理由单独或重复地获取每个部分。