2013-06-25 3 views
0

Я извлекаю, что является, по существу, структурой альбома.Отобразить сплющенную древовидную структуру с NSFetchedResultsController

Альбомы могут иметь родительский альбом и детские альбомы. Все отношения уже будут установлены в основных данных.

Я пытаюсь выяснить способ, которым я могу показать их с помощью NSFRC. Они будут выглядеть как дерево (у них также есть свойство глубины, которое я буду использовать для форматирования, как далеко они отступаются в каждой ячейке), но на самом деле это всего лишь плоский список.

По существу я хочу что-то вроде этого:

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

Не уверен, что если есть способ решить эту проблему с сортировкой, и т.д. в NSFRC, по крайней мере, не то, что мой мозг придумал. Может быть, переходное свойство на каждом альбоме, которое ссылается на его корневой альбом?

enter image description here

+0

ли каждый альбом имеет идентификационный номер, который увеличивает для каждого другого альбома (или вы можете добавить один)? Что определяет желаемый порядок? И у вас есть максимальная глубина? – Wain

+0

Максимальная глубина 6. Корневые альбомы, вероятно, будут помещены в алфавитном порядке по имени, как и каждая вложенная группа. Я не уверен, что понимаю ваш первый вопрос. У альбомов есть уникальный идентификатор, но они не точно основаны на их родительском. –

+0

Не могли бы вы рассказать о модели? –

ответ

0

Если вы используете SQLite магазин и вы хотите использовать NSFetchedResultsController вам нужно реализовать модель «вложенное множество» [1]. Реализация немного сложная, поэтому, если ваш набор данных достаточно мал, чтобы вписаться в память, вероятно, будет проще не использовать NSFetchedResultsController и выполнить сортировку вручную.

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

Смежные вопросы