2017-02-14 24 views
0

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

Нравится, если у меня есть subClass UIViewController, и я создал категорию в этом подклассе. Теперь я хочу вызвать метод категории из подкласса UIViewController.

У меня есть вопрос, следует ли мне позвонить [self categoryMethod] или нет?

Спасибо за ответ!

+0

Какую категорию вы создаете? основанный на том, что ваше призвание будет работать. сообщите нам немного кода или категории. – CodeChanger

+0

Привет @CodeChange У меня есть мой вопрос. Извините, я не могу добавить код здесь. –

+0

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

ответ

0

Да, вы можете вызвать метод категории с самостоятельно объект как объект одного класса UIVIewController так что не проблема.

Вот еще некоторые детали, почему нам нужно Категория:

Вы используете категории для определения дополнительных методов существующего класса даже один, исходный код недоступен для вас-без подклассов. Обычно вы используете категорию для добавления методов к существующему классу , например, определенному в Cocoa frameworks. Добавленные методы наследуются подклассами и неотличимы от времени исполнения от оригинальных методов класса. Вы можете также использовать категории собственных классов:

  • Распределить реализации ваших собственных классов в отдельные исходных файлы, например, вы могли бы сгруппировать методы большого класса на несколько категорий и поместите каждую категорию в другой файл .
  • Объявление частных методов.

Вы добавляете методы класса, объявляя их в файле интерфейса под именем категории и их определения в файле реализации под тем же названием. Имя категории указывает, что методы: - расширение для класса, объявленного в другом месте, а не для нового класса.

Так на основе этого описания вы можете распространять свой код UIViewController небольшими мелкими кусочками (файлы), как category и называем его из класса.

Еще один способ уменьшить единый код класса является разделить ViewController в небольшой части, как Вы TableView, Header View и Footer View, Navigation View так что вы можете создать суб-класс этого все просмотреть и написать кода, связанный в этом соответствующий класс и main ViewController Класс содержит только данные и общие методы.

Использование ContainerView - это наилучшая практика для распространения вашего UI и кода в мелко-малой части.

Надеюсь, это поможет вам понять, что вам нужно!

Счастливое кодирование.