Привет всем, я изо всех сил пытаюсь придумать способ описать мою проблему, поэтому я собираюсь использовать iOS 'Safari в качестве примера, поскольку он почти соответствует тому, чего я пытаюсь достичь.В safari, если вы добавляете или редактируете закладку, вы можете выбрать, в какую папку будет помещена закладка. UITableViewController отображается с иерархическим списком папок, дочерняя папка / подпапка отображается с увеличенным отступом UITableViewCell.Вот снимок экрана, на котором показано, что я имею в виду: Снимок экрана
Закладки и папки хранятся в одной таблице в базе данных sqlite, например: Снимок экрана
Таким образом, легко определить, какие папки являются родителями каких других папок, используя столбцы id и parent.
Что я не могу понять, так это как получить массив / словарь /установить, который поддерживает эти отношения (или содержит соответствующие данные), чтобы я мог использовать его в UITableViewController?
Мои текущие методы (которые возвращают NSMutableArray, содержащий имена папок) выполняют инструкцию SQL, которая возвращает все папки, где parent = 0 или NULL, затем для каждой возвращаемой папки выполняет другую инструкцию SQL, которая получает подпапки этих папок,но это только возвращает 2 уровня папок.Я мог бы добавить больше утверждений, но я только когда-нибудь верну столько уровней, сколько имею заявлений.Я не знаю, будет ли 0 или 1000 уровней подпапок, поэтому мне нужно найти способ сделать это, когда код не зависит от данных.
Надеюсь, это имеет смысл!Буду очень признателен, если кто-нибудь сможет помочь или направить меня в правильном направлении - я чувствую, что могу упустить что-то очевидное здесь!