Samond Classes Library 1.2.6-STABLE build 219
Полный список членов класса
Класс SCRuntimeProtocol

Класс представления протокола Подробнее...

#import <SCRuntimeProtocol.h>

+ Граф наследования:SCRuntimeProtocol:

Создание и инициализация протоколов

(instancetype) + protocolWithObjCProtocol:
 
(instancetype) + protocolWithName:
 
(instancetype) - initWithObjCProtocol:
 
(instancetype) - initWithName:
 

Доступ к свойствам протоколов

NSString * name
 
(NSArray *) + allProtocols
 
(NSArray *) - adoptedProtocols
 
(BOOL) - conformsToRuntimeProtocol:
 
(BOOL) - conformsToProtocolWithName:
 

Доступ к объявленным в протоколах свойствам

(NSArray *) - properties
 
(SCRuntimeProperty *) - propertyWithName:required:instance:
 
(BOOL) - containsProperty:required:instance:
 
(BOOL) - containsPropertyWithName:required:instance:
 

Доступ к объявленным в протоколах методам

(NSArray *) - methodsRequired:instance:
 
(NSArray *) - methods
 
(SCRuntimeMethod *) - methodWithSelector:required:instance:
 
(BOOL) - containsMethod:required:instance:
 
(BOOL) - containsMethodWithSelector:required:instance:
 

Сравнение протоколов

(BOOL) - isEqualToProtocol:
 
(BOOL) - isEqualToName:
 
(BOOL) - isEqual:
 
(BOOL) - isEqualToObjCProtocol:
 

Взаимодействие с классами

(BOOL) - addToClass:
 
(BOOL) - conformedClass:
 
(BOOL) - addToUnregisteredClass:
 
(BOOL) - conformedUnregisteredClass:
 

Взаимодействие с протоколами

(void) - addToProtocol:
 

Дополнительные унаследованные члены

- Методы экземпляра унаследованные от SCObject
(instancetype) - initWithCoder:
 
(instancetype) - initWithContentsOfSerializedFile:
 
(void) - encodeWithCoder:
 
(BOOL) - writeContentsToSerializedFile:
 
(instancetype) - initWithDataDictionary:
 
(instancetype) - initWithDataDictionaryFromFile:
 
(void) - writeToDataDictionary:
 
(void) - writeToDataDictionaryFile:atomically:
 
(void) - writeToDataDictionaryFile:
 
(NSDictionary *) - dataDictionary
 
(instancetype) - initWithStream:
 
(instancetype) - initWithFileStream:
 
(void) - writeToStream:
 
(void) - writeToFileStream:
 
(void) - appendToFileStream:
 
(id) - copyObject
 
(instancetype) - initWithData:
 
(instancetype) - initWithDataWrapper:
 
(instancetype) - initWithContentsOfFile:
 
(instancetype) - initWithContentsOfURL:
 
(instancetype) - initWithContentsOfURLString:
 
(void) - writeToData:
 
(BOOL) - writeToFile:
 
(BOOL) - writeToURL:
 
(BOOL) - writeToURLString:
 
(NSData *) - data
 
- Свойства унаследованные от SCObject
NSString * className
 

Подробное описание

Класс представления протокола

SDK
macOS 10.6+, iOS 7.0+, GNUstep
Начиная с
версии 1.2.6

Обеспечивает доступ к протоколам среды времени выполнения:

При работе с экземплярами данного класса возможно возникновение следующих ошибок:

Документация метода

- (BOOL) addToClass: (Class)  class

Метод добавляет протокол к указанному существующему классу.

Аргументы
class- класс
Возвращает
YES при успешном добавлении протокола и NO в противном случае
Исключения
SCRuntimeException- обнаружена ошибка среды времени выполнения
- (void) addToProtocol: (SCRuntimeUnregisteredProtocol *)  protocol
SDK
macOS 10.6+, iOS 7.0+

Метод добавляет данный протокол в указанный незарегистрированный протокол.

Предупреждения
При вызове на платформе GNUstep метод удаляет все ранее добавленные протоколы.
Аргументы
protocol- незарегистрированный протокол
Исключения
SCRuntimeException- обнаружена ошибка среды времени выполнения
- (BOOL) addToUnregisteredClass: (SCRuntimeUnregisteredClass *)  class

Метод добавляет протокол к указанному незарегистрированному классу.

Аргументы
class- незарегистрированый класс
Возвращает
YES при успешном добавлении протокола и NO в противном случае
Исключения
SCRuntimeException- обнаружена ошибка среды времени выполнения
- (NSArray *) adoptedProtocols

Метод возвращает список унаследованных протоколов.

Возвращает
Массив со списком протоколов
+ (NSArray *) allProtocols

Классовый метод возвращает список всех зарегистрированных протоколов.

Возвращает
Массив со списком протоколов
- (BOOL) conformedClass: (Class)  class

Метод проверяет соответствие указанного класса данному протоколу.

Аргументы
class- проверяемый класс
Возвращает
YES при соответствии класса данному протоколу и NO в противном случае
- (BOOL) conformedUnregisteredClass: (SCRuntimeUnregisteredClass *)  class

Метод проверяет соответствие указанного незарегистрированного класса данному протоколу.

Аргументы
class- проверяемый незарегистрированный класс
Возвращает
YES при соответствии незарегистрированного класса данному протоколу и NO в противном случае
- (BOOL) conformsToProtocolWithName: (NSString *)  name

Метод определяет соответствие данного протокола протоколу с указанным названием.

Аргументы
name- название протокола
Возвращает
YES если данный протокол соответствует протоколу с заданным названием и NO в противном случае
- (BOOL) conformsToRuntimeProtocol: (SCRuntimeProtocol *)  protocol

Метод определяет соответствие данного протокола заданному протоколу.

Аргументы
protocol- протокол
Возвращает
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

Метод инициализирует протокол с заданным названием.

Аргументы
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 в противном случае
- (BOOL) isEqualToProtocol: (SCRuntimeProtocol *)  protocol

Метод выполняет сравнение протокола с указанным протоколом.

Аргументы
protocol- протокол для сравнения
Возвращает
YES если протоколы совпадают и NO в противном случае
- (NSArray *) methods

Метод возвращает список всех методов протокола.

Возвращает
Массив со списком методов
- (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 при отстутствии в протоколе искомого метода
Исключения
SCRuntimeException- обнаружена ошибка среды времени выполнения
- (NSArray *) properties

Метод возвращает список свойств протокола.

Возвращает
Массив свойств протокола
- (SCRuntimeProperty *) propertyWithName: (NSString *)  name
required: (BOOL)  required
instance: (BOOL)  instance 

Метод возвращает свойство с заданными названием, флагом обязательности и флагом принадлежности.

Внимание
Классовые свойства поддерживаются только на платформах macOS и iOS. При вызове данного метода на платформе GNUstep значение параметра instance игнорируется и метод всегда работает только со свойствами экземпляров класса.
Аргументы
name- название свойства
required- YES для обязательного свойства и NO для опционального свойства
instance- YES для свойства экземпляра класса и NO для классового свойства (игнорируется на платформе GNUstep)
Возвращает
Запрошенное свойство или nil при отсутствии свойства с указанным названием
Исключения
SCRuntimeException- обнаружена ошибка среды времени выполнения
+ (instancetype) protocolWithName: (NSString *)  name

Классовый метод создает протокол с заданным названием.

Аргументы
name- название протокола
Возвращает
Созданный протокол

Переопределяется в SCRuntimeUnregisteredProtocol.

+ (instancetype) protocolWithObjCProtocol: (Protocol *)  protocol

Классовый метод создает протокол с использованием заданного указателя на протокол среды времени выполнения.

Аргументы
protocol- указатель на протокол
Возвращает
Созданный протокол

Полный список свойств

- (NSString *) name
readnonatomicretain

Название протокола


Объявления и описания членов классов находятся в файлах: