2010-02-09 5 views
1

У меня есть приложение для iPhone, у него есть два отдельных компонента MKMapView в разных представлениях, однако многие действия, которые я буду выполнять с двумя видами, одинаковы. Как написать методы один раз, но использовать их в обоих контроллерах представления?Как я могу поделиться общими методами между диспетчерами?

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

Благодаря

ответ

5

Вы можете создать создать свой собственный класс вида контроллера, который подклассы ViewController выбора, который вы используете. Затем вы можете поместить этот общий метод в родительский класс, чтобы он был доступен в ваших контроллерах view. Вы реализуете этот конкретный подкласс, который вы делаете в каждом из своих представлений.

+0

Thanks @sw Мне нужно будет прочитать документы больше, я думаю – conorgriffin

+0

Что случилось с преимуществом композиции над наследованием? :) – willcodejavaforfood

1

Другой вариант - написать субконтроллер, который обрабатывает общие функции и использует экземпляр этого в каждом из ваших контроллеров представлений.

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