2012-03-27 4 views
0

У меня есть контроллер табличного представления, который называется categoriesController, установленный в контейнере.Добавить новый контроллер представления экземпляра - IOS5

ОБНОВЛЕНО --------------------------------------------- ------------------------

Категории могут иметь или не иметь подкатегорий, а количество категорий - переменные.

В связи 'categoriesController':

Категория клеток, без подкатегорий (нажата) -> Segue Статьям посмотреть

catégorie клетки с подразделами (щелкнул) -> Не непосредственно перейти. Инициируйте новые категорииController с новыми значениями (новые категории) и перезагрузите таблицу с новыми категориями экземпляраController и новыми значениями.

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

Я надеюсь, что мое новое объяснение будет понятным для вас.

Большое спасибо за вашу поддержку.

ответ

1

Вам просто нужно сделать что-то вроде:

// When the specific cell is selected: 
self.categoriesController = [[CategoriesController alloc] init]; 

старый один будет заменен на новый. Предполагается, что у вас есть свойство, называемое categoriesController, которое имеет тип strong/retain.

Также обратите внимание, что если вы используете ARC. Если вы этого не сделаете, вам понадобится autorelease после выделения/init CategoriesController.

+0

Это только если он использует ARC, в противном случае это утечка памяти. Если он не использует ARC: CategoriesController * controller = [[CategoriesController alloc] init]; self.categoriesController = контроллер; [выпуск контроллера]; – Francesco

+0

Привет всем, как только я получил экземпляр и установил свойство, как я могу перезагрузить новый контроллер представления в контейнере и удалить старый? Огромное спасибо всем. – roof

+0

@iorf - Как вы показываете VC? Модально? Если да, просто отпустите его, а затем представите новый. – mattjgalloway

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