Добавление и удаление видов - лучшая практика - PullRequest
0 голосов
/ 15 сентября 2010

Я разработал несколько приложений, теперь все с использованием контроллеров с одним представлением.В каждом приложении в делегате приложения я выделяю / инициализирую первый контроллер представления в «didFinishLaunchingWithOptions» и [window addSubview: view_controller.view].

Теперь мой вопрос состоит в том, что является лучшим методом для удаления и добавления вторичных представлений.

В настоящий момент я делаю следующее:

• В моем текущем View Controller на экране я делаю ссылку на делегат приложения и вызываю метод, называемый "showSecondViewController", передавая "self"• Затем в делегате приложения в методе «showSecondViewController» я удаляю «self», переданное из суперпредставления, и [window addSubview: new_view];новый контроллер вида.

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

Это лучший метод?Я только что говорил с другим разработчиком iPhone о том, чтобы использовать вместо этой методологии использование контроллера навигации (скрывающего верхнюю панель) и «анимированный: НЕТ», нажимающий и выдвигающий контроллеры представления?Что лучше?

Причина, по которой я начал думать об этом первоначальном, была после просмотра лекций Стэндфордского университета и просмотра этого слайда: http://screencast.com/t/N2RkZWIzMzkt, который заставляет меня думать, что то, что я делаю, не правильно.

Пожалуйста, сообщите.

Спасибо Джеймс

1 Ответ

1 голос
/ 15 сентября 2010

Сдается мне, что вы пытаетесь делать вручную то, что UINavigationController может сделать для вас, поэтому я пойду с этим.

То, что говорит этот слайд, не помещает все в делегат вашего приложения, как большой шарик грязи . Это означает, что создайте объект, который содержит и управляет всеми вашими взглядами и не зависит ни от чего другого. Если ему нужен доступ к другим объектам для работы, передайте их с помощью сеттеров или в методе -init, но не обращайтесь к делегату приложения (или другому центральному пункту) и попросите его. Это называется внедрение зависимостей .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...