使用NSFetchedResultsController显示展平的树结构

时间:2013-06-25 21:32:59

标签: ios objective-c core-data nsfetchedresultscontroller

我正在检索本质上是专辑结构的内容。

相册可以包含父相册和子相册。所有关系都已在核心数据中设置。

我正在试图找出一种可以用NSFRC显示这些内容的方法。它们看起来像一棵树(它们也有一个深度属性,我将使用它来格式化它们在每个单元格中缩进的程度),但实际上只是一个单一的列表。

基本上我想要这样的东西:

|-album1
|-album2
|--subalbum1
|--subalbum2
|---subsubalbum3
|-album3
|--subalbum3

不确定是否有办法在NSFRC中通过排序等来解决这个问题,至少不是我脑子里想出来的。也许是每张专辑的一个瞬态属性引用它的根专辑?

enter image description here

1 个答案:

答案 0 :(得分:0)

如果您正在使用sqlite存储并且想要使用NSFetchedResultsController,则需要实现“嵌套集”模型[1]。虽然实现有点复杂,但如果您的数据集足够小以适应内存,则可能更容易不使用NSFetchedResultsController并手动进行排序。

[1] http://en.wikipedia.org/wiki/Nested_set_model