Класс представления метода класса
Подробнее...
#import <SCRuntimeMethod.h>
Класс представления метода класса
- SDK
- macOS 10.6+, iOS 7.0+, GNUstep
- Начиная с
- версии 1.2.6
Обеспечивает доступ к методам классов среды времени выполнения:
- может быть использован как для получения информации о существующих методах классов, так и для создания новых методов, которые могут быть добавлены к классам и протоколам непосредственно во время выполнения приложений;
- поддерживает работу как с методами экземпляров класса, так и с методами классовых объектов;
- обеспечивает вызов методов через отправку сообщений экземплярам классов и классовым объектам.
При работе с экземплярами данного класса возможно возникновение следующих ошибок:
| - (BOOL) addToClass: |
|
(Class) |
class |
| instance: |
|
(BOOL) |
instance |
|
|
| |
Метод добавляет данный метод к указанному существующему классу.
- Аргументы
-
| class | - класс для добавления метода |
| instance | - YES для добавления метода экземпляра класса и NO для добавления классового метода |
- Возвращает
- YES при успешном добавлении метода и NO в противном случае
- Исключения
-
Метод добавляет данный метод к указанному незарегистрированному протоколу.
- Аргументы
-
| protocol | - протокол для добавления метода |
| required | - YES для добавления обязательного метода и NO для добавления опционального метода |
| instance | - YES для добавления метода экземпляра класса и NO для добавления классового метода |
- Исключения
-
Метод добавляет данный метод к указанному незарегистрированному классу.
- Аргументы
-
| class | - класс для добавления метода |
| instance | - YES для добавления метода экземпляра класса и NO для добавления классового метода |
- Возвращает
- YES при успешном добавлении метода и NO в противном случае
- Исключения
-
| - (BOOL) availableInClass: |
|
(Class) |
class |
| instance: |
|
(BOOL) |
instance |
|
|
| |
Метод определяет наличие данного метода в указанном классе.
- Аргументы
-
| class | - существующий класс |
| instance | - YES для поиска метода экземпляра класса и NO для поиска классового метода |
- Возвращает
- YES при наличии метода в заданном классе и NO в противном случае
| - (BOOL) availableInProtocol: |
|
(SCRuntimeProtocol *) |
protocol |
| required: |
|
(BOOL) |
required |
| instance: |
|
(BOOL) |
instance |
|
|
| |
Метод определяет наличие данного метода в указанном протоколе.
- Аргументы
-
| protocol | - существующий протокол |
| required | - YES для поиска обязательного метода и NO для поиска опционального метода |
| instance | - YES для поиска метода экземпляра класса и NO для поиска классового метода |
- Возвращает
- YES при наличии метода в заданном протоколе и NO в противном случае
| - (BOOL) availableInProtocolWithName: |
|
(NSString *) |
name |
| required: |
|
(BOOL) |
required |
| instance: |
|
(BOOL) |
instance |
|
|
| |
Метод определяет наличие данного метода в протоколе с заданным названием.
- Аргументы
-
| name | - название протокола |
| required | - YES для поиска обязательного метода и NO для поиска опционального метода |
| instance | - YES для поиска метода экземпляра класса и NO для поиска классового метода |
- Возвращает
- YES при наличии метода в протоколе с указанным названием и NO в противном случае
Метод определяет наличие данного метода в указанном незарегистрированном классе.
- Аргументы
-
| class | - незарегистрированный класс |
| instance | - YES для поиска метода экземпляра класса и NO для поиска классового метода |
- Возвращает
- YES при наличии метода в заданном классе и NO в противном случае
| + (instancetype) classMethodWithClass: |
|
(Class) |
class |
| name: |
|
(NSString *) |
name |
|
|
| |
Классовый метод создает классовый метод с использованием указанных класса и названия метода.
- Аргументы
-
| class | - классовый объект |
| name | - название метода |
- Возвращает
- Созданный метод
- Исключения
-
| + (instancetype) classMethodWithClass: |
|
(Class) |
class |
| selector: |
|
(SEL) |
selector |
|
|
| |
Классовый метод создает классовый метод с использованием указанных класса и селектора.
- Аргументы
-
| class | - классовый объект |
| selector | - селектор метода |
- Возвращает
- Созданный метод
- Исключения
-
| - (instancetype) initWithClass: |
|
(Class) |
class |
| instance: |
|
(BOOL) |
instance |
| name: |
|
(NSString *) |
name |
|
|
| |
Метод инициализирует метод с использованием указанных класса, флага и названия метода.
- Аргументы
-
| class | - классовый объект |
| instance | - YES для метода экземпляра класса и NO для классового метода |
| name | - название метода |
- Возвращает
- Инициализированный метод
- Исключения
-
| - (instancetype) initWithClass: |
|
(Class) |
class |
| instance: |
|
(BOOL) |
instance |
| selector: |
|
(SEL) |
selector |
|
|
| |
Метод инициализирует метод с использованием указанных класса, флага и селектора.
- Аргументы
-
| class | - классовый объект |
| instance | - YES для метода экземпляра класса и NO для классового метода |
| selector | - селектор метода |
- Возвращает
- Инициализированный метод
- Исключения
-
| - (instancetype) initWithObjCMethod: |
|
(Method) |
method |
|
Метод инициализирует метод с использованием указанного указателя на метод среды времени выполнения.
- Аргументы
-
| method | - указатель на метод |
- Возвращает
- Инициализированный метод
| - (instancetype) initWithSelector: |
|
(SEL) |
selector |
| implementation: |
|
(IMP) |
implementation |
| signature: |
|
(NSString *) |
signature |
|
|
| |
Метод инициализирует метод с использованием заданных селектора, указателя на реализацию и сигнатуры метода.
- Аргументы
-
| selector | - селектор метода |
| implementation | - указатель на реализацию метода |
| signature | - сигнатура метода |
- Возвращает
- Инициализированный метод
| - (BOOL) isEqual: |
|
(id) |
object |
|
Метод выполняет сравнение метода с указанным объектом.
- Аргументы
-
| object | - объект для сравнения |
- Возвращает
- YES если метод совпадает с объектом и NO в противном случае
Переопределяет метод предка SCObject.
Метод выполняет сравнение метода с указанным методом.
- Аргументы
-
| method | - метод для сравнения |
- Возвращает
- YES если методы совпадают и NO в противном случае
| - (BOOL) isEqualToName: |
|
(NSString *) |
name |
|
Метод выполняет сравнение метода с методом с указанным названием.
- Аргументы
-
| name | - название метода для сравнения |
- Возвращает
- YES если методы совпадают и NO в противном случае
| - (BOOL) isEqualToObjCMethod: |
|
(Method) |
method |
|
Метод выполняет сравнение метода с указателем на метод среды времени выполнения.
- Аргументы
-
| method | - указатель на метод среды времени выполнения для сравнения |
- Возвращает
- YES если метод совпадает с указателем и NO в противном случае
| - (BOOL) isEqualToSelector: |
|
(SEL) |
selector |
|
Метод выполняет сравнение метода с методом с указанным селектором.
- Аргументы
-
| selector | - селектор метода для сравнения |
- Возвращает
- YES если методы совпадают и NO в противном случае
| + (instancetype) methodWithClass: |
|
(Class) |
class |
| name: |
|
(NSString *) |
name |
|
|
| |
Классовый метод создает метод экземпляра класса с использованием указанных класса и названия метода.
- Аргументы
-
| class | - классовый объект |
| name | - название метода |
- Возвращает
- Созданный метод
- Исключения
-
| + (instancetype) methodWithClass: |
|
(Class) |
class |
| selector: |
|
(SEL) |
selector |
|
|
| |
Классовый метод создает метод экземпляра класса с использованием указанных класса и селектора.
- Аргументы
-
| class | - классовый объект |
| selector | - селектор метода |
- Возвращает
- Созданный метод
- Исключения
-
| + (instancetype) methodWithObjCMethod: |
|
(Method) |
method |
|
Классовый метод создает метод с использованием указанного указателя на метод среды времени выполнения.
- Аргументы
-
| method | - указатель на метод |
- Возвращает
- Созданный метод
| + (instancetype) methodWithSelector: |
|
(SEL) |
selector |
| implementation: |
|
(IMP) |
implementation |
| signature: |
|
(NSString *) |
signature |
|
|
| |
Классовый метод создает метод с использованием заданных селектора, указателя на реализацию и сигнатуры метода.
- Аргументы
-
| selector | - селектор метода |
| implementation | - указатель на реализацию метода |
| signature | - сигнатура метода |
- Возвращает
- Созданный метод
| - (id) objectFromTarget: |
|
(id) |
target |
| , |
|
|
... |
|
|
| |
Метод отправляет сообщение и возвращает объект с использованием указанных получателя сообщения и списка аргументов метода.
- Аргументы
-
| target | - получатель сообщения (экземпляр класса или классовый объект) |
| ... | - список аргументов метода (для каждого аргумента необходимо использовать макрос SC_ARG) |
- Возвращает
- Возвращаемый методом объект
- Исключения
-
Метод отправляет сообщение и возвращает объект с использованием указанных получателя сообщения и списка аргументов метода.
- Аргументы
-
| target | - получатель сообщения (экземпляр класса или классовый объект) |
| arguments | - список аргументов метода |
- Возвращает
- Возвращаемый методом объект
- Исключения
-
| - (void) sendToTarget: |
|
(id) |
target |
| , |
|
|
... |
|
|
| |
Метод отправляет сообщение с использованием указанных получателя сообщения и списка аргументов метода.
- Аргументы
-
| target | - получатель сообщения (экземпляр класса или классовый объект) |
| ... | - список аргументов метода (для каждого аргумента необходимо использовать макрос SC_ARG) |
- Исключения
-
| - (void) sendToTarget: |
|
(id) |
target |
| arguments: |
|
(va_list) |
arguments |
|
|
| |
Метод отправляет сообщение с использованием указанных получателя сообщения и списка аргументов метода.
- Аргументы
-
| target | - получатель сообщения (экземпляр класса или классовый объект) |
| arguments | - список аргументов метода |
- Исключения
-
| - (void) sendWithValue: |
|
(void *) |
value |
| target: |
|
(id) |
target |
| , |
|
|
... |
|
|
| |
Метод отправляет сообщение с использованием указанных буфера для возвращаемого значения, получателя сообщения и списка аргументов метода.
- Аргументы
-
| value | - указатель на буфер для возвращаемого значения |
| target | - получатель сообщения (экземпляр класса или классовый объект) |
| ... | - список аргументов метода (для каждого аргумента необходимо использовать макрос SC_ARG) |
- Исключения
-
| - (void) sendWithValue: |
|
(void *) |
value |
| target: |
|
(id) |
target |
| arguments: |
|
(va_list) |
arguments |
|
|
| |
Метод отправляет сообщение с использованием указанных буфера для возвращаемого значения, получателя сообщения и списка аргументов метода.
- Аргументы
-
| value | - указатель на буфер для возвращаемого значения |
| target | - получатель сообщения (экземпляр класса или классовый объект) |
| arguments | - список аргументов метода |
- Исключения
-
Указатель на реализацию метода
Объявления и описания членов классов находятся в файлах: