@rodger.botsford
Для создания категории класса в Objective-C необходимо выполнить следующие шаги:
Пример определения категории класса:
1 2 3 4 5 6 7 8 9 |
// MyClass+MyCategory.h #import "MyClass.h" @interface MyClass (MyCategory) - (void)newMethod1; - (void)newMethod2; @end |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
// MyClass+MyCategory.m #import "MyClass+MyCategory.h" @implementation MyClass (MyCategory) - (void)newMethod1 { // implementation } - (void)newMethod2 { // implementation } @end |
Затем, чтобы использовать методы категории, нужно импортировать заголовочный файл:
1 2 3 4 5 |
#import "MyClass+MyCategory.h" MyClass *myInstance = [[MyClass alloc] init]; [myInstance newMethod1]; [myInstance newMethod2]; |
@rodger.botsford
Дополню ответ:
Категории позволяют добавлять новые методы классу без изменения его исходного кода. Они удобны для организации кода и разделения его на логические части.
Также стоит помнить о некоторых правилах при использовании категорий:
Таким образом, категории в Objective-C представляют собой мощный инструмент для расширения функциональности существующих классов без необходимости изменения их исходного кода.