Класс представления метода класса
Подробнее...
#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 | - список аргументов метода |
- Исключения
-
Указатель на реализацию метода
Объявления и описания членов классов находятся в файлах: