Класс представления протокола
Подробнее...
#import <SCRuntimeProtocol.h>
Класс представления протокола
- SDK
- macOS 10.6+, iOS 7.0+, GNUstep
- Начиная с
- версии 1.2.6
Обеспечивает доступ к протоколам среды времени выполнения:
- получение информации о зарегистрированных протоколах;
- создание новых протоколов;
- доступ к объявленным в протоколах свойствам и методам;
- взаимодействие протоколов с классами и другими протоколами.
При работе с экземплярами данного класса возможно возникновение следующих ошибок:
- (BOOL) addToClass: |
|
(Class) |
class |
|
Метод добавляет протокол к указанному существующему классу.
- Аргументы
-
- Возвращает
- YES при успешном добавлении протокола и NO в противном случае
- Исключения
-
- SDK
- macOS 10.6+, iOS 7.0+
Метод добавляет данный протокол в указанный незарегистрированный протокол.
- Предупреждения
- При вызове на платформе GNUstep метод удаляет все ранее добавленные протоколы.
- Аргументы
-
protocol | - незарегистрированный протокол |
- Исключения
-
Метод добавляет протокол к указанному незарегистрированному классу.
- Аргументы
-
class | - незарегистрированый класс |
- Возвращает
- YES при успешном добавлении протокола и NO в противном случае
- Исключения
-
- (NSArray *) adoptedProtocols |
|
|
|
Метод возвращает список унаследованных протоколов.
- Возвращает
- Массив со списком протоколов
+ (NSArray *) allProtocols |
|
|
|
Классовый метод возвращает список всех зарегистрированных протоколов.
- Возвращает
- Массив со списком протоколов
- (BOOL) conformedClass: |
|
(Class) |
class |
|
Метод проверяет соответствие указанного класса данному протоколу.
- Аргументы
-
- Возвращает
- YES при соответствии класса данному протоколу и NO в противном случае
Метод проверяет соответствие указанного незарегистрированного класса данному протоколу.
- Аргументы
-
class | - проверяемый незарегистрированный класс |
- Возвращает
- YES при соответствии незарегистрированного класса данному протоколу и NO в противном случае
- (BOOL) conformsToProtocolWithName: |
|
(NSString *) |
name |
|
Метод определяет соответствие данного протокола протоколу с указанным названием.
- Аргументы
-
- Возвращает
- YES если данный протокол соответствует протоколу с заданным названием и NO в противном случае
Метод определяет соответствие данного протокола заданному протоколу.
- Аргументы
-
- Возвращает
- YES если данный протокол соответствует указанному протоколу и NO в противном случае
- (BOOL) containsMethod: |
|
(SCRuntimeMethod *) |
method |
required: |
|
(BOOL) |
required |
instance: |
|
(BOOL) |
instance |
|
|
| |
Метод проверяет наличие в протоколе указанного метода.
- Аргументы
-
method | - искомый метод |
required | - YES для обязательного метода и NO для опционального метода |
instance | - YES для метода экземпляра класса и NO для классового метода |
- Возвращает
- YES при наличии в протоколе указанного метода и NO в противном случае
- (BOOL) containsMethodWithSelector: |
|
(SEL) |
selector |
required: |
|
(BOOL) |
required |
instance: |
|
(BOOL) |
instance |
|
|
| |
Метод проверяет наличие в протоколе метода с указанным селектором.
- Аргументы
-
selector | - селектор метода |
required | - YES для обязательного метода и NO для опционального метода |
instance | - YES для метода экземпляра класса и NO для классового метода |
- Возвращает
- YES при наличии в протоколе метода с заданным селектором и NO в противном случае
- (BOOL) containsProperty: |
|
(SCRuntimeProperty *) |
property |
required: |
|
(BOOL) |
required |
instance: |
|
(BOOL) |
instance |
|
|
| |
Метод проверяет наличие в протоколе указанного свойства.
- Внимание
- Классовые свойства поддерживаются только на платформах macOS и iOS. При вызове данного метода на платформе GNUstep значение параметра instance игнорируется и метод всегда работает только со свойствами экземпляров класса.
- Аргументы
-
property | - искомое свойство |
required | - YES для обязательного свойства и NO для опционального свойства |
instance | - YES для свойства экземпляра класса и NO для классового свойства (игнорируется на платформе GNUstep) |
- Возвращает
- YES при наличии в протоколе указанного свойства и NO в противном случае
- (BOOL) containsPropertyWithName: |
|
(NSString *) |
name |
required: |
|
(BOOL) |
required |
instance: |
|
(BOOL) |
instance |
|
|
| |
Метод проверяет наличие в протоколе свойства с заданным названием.
- Внимание
- Классовые свойства поддерживаются только на платформах macOS и iOS. При вызове данного метода на платформе GNUstep значение параметра instance игнорируется и метод всегда работает только со свойствами экземпляров класса.
- Аргументы
-
name | - название свойства |
required | - YES для обязательного свойства и NO для опционального свойства |
instance | - YES для свойства экземпляра класса и NO для классового свойства (игнорируется на платформе GNUstep) |
- Возвращает
- YES при наличии в протоколе свойства с указанным названием и NO в противном случае
- (instancetype) initWithName: |
|
(NSString *) |
name |
|
Метод инициализирует протокол с заданным названием.
- Аргументы
-
- Возвращает
- Инициализированный протокол
Переопределяется в SCRuntimeUnregisteredProtocol.
- (instancetype) initWithObjCProtocol: |
|
(Protocol *) |
protocol |
|
Метод инициализирует протокол с использованием заданного указателя на протокол среды времени выполнения.
- Аргументы
-
protocol | - указатель на протокол |
- Возвращает
- Инициализированный протокол
- (BOOL) isEqual: |
|
(id) |
object |
|
Метод выполняет сравнение протокола с указанным объектом.
- Аргументы
-
object | - объект для сравнения |
- Возвращает
- YES если протокол совпадает с объектом и NO в противном случае
Переопределяет метод предка SCObject.
- (BOOL) isEqualToName: |
|
(NSString *) |
name |
|
Метод выполняет сравнение протокола с протоколом с указанным названием.
- Аргументы
-
name | - название протокола для сравнения |
- Возвращает
- YES если протоколы совпадают и NO в противном случае
- (BOOL) isEqualToObjCProtocol: |
|
(Protocol *) |
protocol |
|
Метод выполняет сравнение протокола с указателем на протокол среды времени выполнения.
- Аргументы
-
protocol | - указатель на протокол среды времени выполнения для сравнения |
- Возвращает
- YES если протокол совпадает с указателем и NO в противном случае
Метод выполняет сравнение протокола с указанным протоколом.
- Аргументы
-
protocol | - протокол для сравнения |
- Возвращает
- YES если протоколы совпадают и NO в противном случае
Метод возвращает список всех методов протокола.
- Возвращает
- Массив со списком методов
- (NSArray *) methodsRequired: |
|
(BOOL) |
required |
instance: |
|
(BOOL) |
instance |
|
|
| |
Метод возвращает список методов протокола в соответствии с заданными флагами.
- Аргументы
-
required | - YES для обязательных методов и NO для опциональных методов |
instance | - YES для методов экземпляра класса и NO для классовых методов |
- Возвращает
- Массив со списком методов
- (SCRuntimeMethod *) methodWithSelector: |
|
(SEL) |
selector |
required: |
|
(BOOL) |
required |
instance: |
|
(BOOL) |
instance |
|
|
| |
Метод возвращает метод протокола с указанными селектором и флагами.
- Аргументы
-
selector | - селектор метода |
required | - YES для обязательного метода и NO для опционального метода |
instance | - YES для метода экземпляра класса и NO для классового метода |
- Возвращает
- Метод протокола или nil при отстутствии в протоколе искомого метода
- Исключения
-
Метод возвращает список свойств протокола.
- Возвращает
- Массив свойств протокола
- (SCRuntimeProperty *) propertyWithName: |
|
(NSString *) |
name |
required: |
|
(BOOL) |
required |
instance: |
|
(BOOL) |
instance |
|
|
| |
Метод возвращает свойство с заданными названием, флагом обязательности и флагом принадлежности.
- Внимание
- Классовые свойства поддерживаются только на платформах macOS и iOS. При вызове данного метода на платформе GNUstep значение параметра instance игнорируется и метод всегда работает только со свойствами экземпляров класса.
- Аргументы
-
name | - название свойства |
required | - YES для обязательного свойства и NO для опционального свойства |
instance | - YES для свойства экземпляра класса и NO для классового свойства (игнорируется на платформе GNUstep) |
- Возвращает
- Запрошенное свойство или nil при отсутствии свойства с указанным названием
- Исключения
-
+ (instancetype) protocolWithName: |
|
(NSString *) |
name |
|
+ (instancetype) protocolWithObjCProtocol: |
|
(Protocol *) |
protocol |
|
Классовый метод создает протокол с использованием заданного указателя на протокол среды времени выполнения.
- Аргументы
-
protocol | - указатель на протокол |
- Возвращает
- Созданный протокол
Объявления и описания членов классов находятся в файлах: