2015-08-27 6 views
3

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

+0

http://stackoverflow.com/a/24568948/3767017 Посмотрите на этот ответ –

ответ

4

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

How to use category in obj video

7

Реферировано из

http://www.g8production.com/post/37787310116/categories-in-objective-c-how-to-extend-methods

и

Difference between Category and Class Extension?

Категории и расширения позволяют расширить функциональность существующих классов без подклассов (не унаследует ничего), добавляя функциональность существующий класс, даже тот, для которого вы d o не иметь источник.

Категория позволяет добавлять (только) методы в класс, объявляя их в файле интерфейса (.h) и определяя их в файле реализации (.m), как в базовом классе Objective-C. К сожалению, категория не может объявить дополнительную переменную экземпляра для класса.

Теперь эти объявленные методы становятся частью классифицированного класса !!!

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

Редактировать

Категории

-> В Objective C, если вы хотите добавить еще некоторые функциональные возможности класса без наследования, вы просто использовать категорию для него.

-> использование Категории добавить новый метод не свойство

.

Расширение класса

-> В Objective C, если вы хотите, чтобы сделать поведение некоторых свойств частного использовать расширение класса.

-> главным образом для свойств.

+0

Но почему категория мы можем создать наш пользовательский класс и достичь этого functionlity – user1374

+1

Заявление «унаследовано всеми * подклассами * категориально- class "неверен, методы становятся частью класса, в котором находится категория, а не только подклассы. Таким образом, они вежливают класс для всего приложения. Категории, как правило, переоцениваются, в большинстве случаев более подходящим является метод экземпляра класса. – zaph

+0

Спасибо за исправление. – Rajat

1

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

1

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

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