У меня есть модель CoreData, которая может содержать бесконечное число детей.И я хочу отобразить список каждого объекта с отступом для удобочитаемости, например,
Object
Object first child
first childs children
first child children
Object second child
Object 2
Object also has children
MOre children
Childs
Теперь я пришел из PHP фона.и в PHP я бы создал простой массив, который я переберу с некоторыми функциями для построения этого списка, но мне все равно это кажется глупо трудным.
Я получил плоский массив, в котором в основном есть такие элементы: array.name =@"Название";array.children = nil или строки coredata array.parent = nil или строка coredata
Как мне пройти по этому пути и отобразить список с отступом и сгруппированный, как указано выше.
Спасибо за любые указатели или примеры.
- Завершено указателями ниже: результирующий код выглядит следующим образом:
Полученный код (аналогично следующему, яУ меня есть свои настройки, но это специфика)
- (NSArray *)flattenGroupsWithParent:(NSManagedObject<ECCGroup> *)parent {
//findGroupsForGroups gets all nodes with parent: parent.
NSArray *children = [dataSource findGroupsForGroup:parent];
for (NSManagedObject<ECCGroup> *child in children) {
ECCGroupNode *node = [[ECCGroupNode alloc] initWithGroup:child label:child.name];
[result addObject:node];
[result addObjectsFromArray:[self flattenGroupsWithParent:child]];
[node release];
}
}
Результирующий массив: результат.содержит массив, по порядку.со всеми родителями -> детьми.В моем случае с отступом, где требуется.(с использованием дополнительных параметров, не показанных выше)