Expand Collapse TableView Sections with Core Data 任何更优雅的想法

Posted

技术标签:

【中文标题】Expand Collapse TableView Sections with Core Data 任何更优雅的想法【英文标题】:Expand Collapse TableView Sections With Core Data Any Ideas for Something more Elegant 【发布时间】:2014-04-02 16:30:23 【问题描述】:

情况就是这样。 我有一个大约 20 个部分的表(用户可以添加更多)每个部分可以有很多项目(取决于用户)。 我已经实现了一个 Section collapse - expand 场景并且运行良好。 我有一个自定义的部分标题视图,带有一个按钮来切换打开和关闭状态。 我正在使用 NSFetchRequest 从核心数据中获取所有部分(仅显示初始状态已关闭部分)。 每次用户单击标题按钮时,我都会使用谓词获取属于该部分的项目,部分会打开单元格动画,一切正常。

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

======================================编辑========== ========================= 马库斯的建议比我的好 10 倍。 谢谢马库斯

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

谢谢你,Marcus 你的方法确实消除了获取问题,但是为什么我需要一个 Sections 数组如果我将获取结果控制器连接到我的表它会给我部分以及每个部分中的项目部分。 sections 数组用于状态而不是日期。部分是打开还是关闭的状态。所以NSNumber 实例的数组 1 或 0 又名 YESNO 好的,我会实施你的方法,让你再次了解thanx

以上是关于Expand Collapse TableView Sections with Core Data 任何更优雅的想法的主要内容,如果未能解决你的问题,请参考以下文章

EXTjs 面板折叠和展开方法

dwz tree组件 取得所选择的值

dwz tree组件 取得所选择的值

WPF实现QQ群文件列表动画

如何在 TypeScript 界面中要求特定的字符串

easy ui 点击行展开与折叠