Реализация иерархии категорий

#iphone #ios4 #uinavigationcontroller

#iPhone #ios4 #uinavigationcontroller

Вопрос:

У меня есть задача реализовать иерархию Категория-> Подкатегория-> Предложение-> Детали предложения. Но я не уверен, как это сделать. Я должен использовать JSON для заполнения даты. Моя идея заключается в том, чтобы корневой контроллер «CategoriesController» отправил HTTP-запрос на сервер и проанализировал ответ и имена ячеек, которые будут строками моего табличного представления. Но я не знаю, как использовать второй контроллер «SubCategoriesController», чтобы узнать, кто является его родителем. Я имею в виду, как сделать запрос, чтобы вернуть мне только категории, которые являются дочерними элементами выбранной категории. Пожалуйста, дайте мне несколько рекомендаций.

Спасибо 🙂

Комментарии:

1. Вы имеете в виду, когда пользователь выбирает категорию (из таблицы), вы хотите показать ее подкатегорию в табличном представлении подкатегории и как подкатегория узнает, какая категория была выбрана?

2. Можете ли вы иметь свойство в вашей подкатегории что-то вроде «selectedCategory» и перед тем, как представить или нажать свой контроллер представления подкатегории, установить для него соответствующее значение?

3. Должно ли это свойство быть статическим?

Ответ №1:

Я сделал это следующим образом:

Структура таблицы должна быть похожа:

Category_id, parent_category_id, category_name и т. Д

Все основные категории должны иметь parent_category_id = 0
Поэтому, когда вы захотите загрузить все основные категории, вы будете загружать, где parent_category_id = 0
Аналогично, все категории будут иметь category_id в их parent_category_id.

Пример:
Одежда-> Готовая-> Отложенная-> Облегающая

Apparels является родительским для Ready Made Готовый сделанный является родительским для Pent Pent является родительским для Skinny

Итак, в базе данных это должно быть так

Имя : category_id : родительский идентификатор category_id

Параметры одежды: 1: 0 (у этого нет родительского элемента)
Готовые: 2: 1
Отложенный: 3: 2
Тощий : 4: 3

Итак, если вы хотите узнать родительский элемент Skinny, вы проверите значение в parent_category_id, равное 3 для этого примера, затем вы проверите category_id = 3, и это Pent, что правильно для этого примера.

Я надеюсь, что это поможет вам 🙂

Спасибо.