Класс представления свойства класса
Подробнее...
#import <SCRuntimeProperty.h>
Класс представления свойства класса
- SDK
- macOS 10.6+, iOS 7.0+, GNUstep
- Начиная с
- версии 1.2.6
Обеспечивает доступ к свойствам классов среды времени выполнения:
- получение информации о существующих свойствах классов;
- создание новых свойств;
- доступ к различным параметрам свойств;
- добавление свойств к существующим классам и протоколам;
- поддержка классовых свойств (только для macOS и iOS).
При работе с экземплярами данного класса возможно возникновение следующих ошибок:
- Внимание
- Некоторые методы данного класса не поддерживаются на платформе GNUstep. Перед использованием данного класса на этой платформе необходимо внимательно изучить документацию на класс и его методы.
- (BOOL) addToClass: |
|
(Class) |
class |
instance: |
|
(BOOL) |
instance |
|
|
| |
- SDK
- macOS 10.6+, iOS 7.0+
Метод добавляет данное свойство к указанному существующему классу.
- Аргументы
-
class | - класс для добавления свойства |
instance | - YES для добавления свойства экземпляра класса и NO для добавления классового свойства |
- Возвращает
- YES при успешном добавлении свойства и NO в противном случае
- Исключения
-
- SDK
- macOS 10.6+, iOS 7.0+
Метод добавляет данное свойство к указанному незарегистрированному протоколу.
- Аргументы
-
protocol | - протокол для добавления свойства |
required | - YES для добавления обязательного свойства и NO для добавления опционального свойства |
instance | - YES для добавления свойства экземпляра класса и NO для добавления классового свойства |
- Возвращает
- YES при успешном добавлении свойства и NO в противном случае
- Исключения
-
Метод добавляет данное свойство к указанному незарегистрированному классу.
- Внимание
- Классовые свойства поддерживаются только на платформах macOS и iOS. При вызове данного метода на платформе GNUstep значение параметра instance игнорируется и метод всегда работает только со свойствами экземпляров класса.
- Аргументы
-
class | - незарегистрированный класс для добавления свойства |
instance | - YES для добавления свойства экземпляра класса и NO для добавления классового свойства (игнорируется на платформе GNUstep) |
- Возвращает
- YES при успешном добавлении свойства и NO в противном случае
- Исключения
-
- (BOOL) availableInClass: |
|
(Class) |
class |
instance: |
|
(BOOL) |
instance |
|
|
| |
Метод определяет наличие данного свойства в указанном классе.
- Внимание
- Классовые свойства поддерживаются только на платформах macOS и iOS. При вызове данного метода на платформе GNUstep значение параметра instance игнорируется и метод всегда работает только со свойствами экземпляров класса.
- Аргументы
-
class | - существующий класс |
instance | - YES для поиска свойства экземпляра класса и NO для поиска классового свойства (игнорируется на платформе GNUstep) |
- Возвращает
- YES при наличии свойства в заданном классе и NO в противном случае
- (BOOL) availableInProtocol: |
|
(SCRuntimeProtocol *) |
protocol |
required: |
|
(BOOL) |
required |
instance: |
|
(BOOL) |
instance |
|
|
| |
Метод определяет наличие данного свойства в указанном протоколе.
- Внимание
- Классовые свойства поддерживаются только на платформах macOS и iOS. При вызове данного метода на платформе GNUstep значение параметра instance игнорируется и метод всегда работает только со свойствами экземпляров класса.
- Аргументы
-
protocol | - существующий протокол |
required | - YES для поиска обязательного свойства и NO для поиска опционального свойства |
instance | - YES для поиска свойства экземпляра класса и NO для поиска классового свойства (игнорируется на платформе GNUstep) |
- Возвращает
- YES при наличии свойства в заданном протоколе и NO в противном случае
- (BOOL) availableInProtocolWithName: |
|
(NSString *) |
name |
required: |
|
(BOOL) |
required |
instance: |
|
(BOOL) |
instance |
|
|
| |
Метод определяет наличие данного свойства в протоколе с заданным названием.
- Внимание
- Классовые свойства поддерживаются только на платформах macOS и iOS. При вызове данного метода на платформе GNUstep значение параметра instance игнорируется и метод всегда работает только со свойствами экземпляров класса.
- Аргументы
-
name | - название протокола |
required | - YES для поиска обязательного свойства и NO для поиска опционального свойства |
instance | - YES для поиска свойства экземпляра класса и NO для поиска классового свойства (игнорируется на платформе GNUstep) |
- Возвращает
- YES при наличии свойства в протоколе с указанным названием и NO в противном случае
Метод определяет наличие данного свойства в указанном незарегистрированном классе.
- Внимание
- Классовые свойства поддерживаются только на платформах macOS и iOS. При вызове данного метода на платформе GNUstep значение параметра instance игнорируется и метод всегда работает только со свойствами экземпляров класса.
- Аргументы
-
class | - незарегистрированный класс |
instance | - YES для поиска свойства экземпляра класса и NO для поиска классового свойства (игнорируется на платформе GNUstep) |
- Возвращает
- YES при наличии свойства в заданном незарегистрированном классе и NO в противном случае
+ (instancetype) classPropertyWithClass: |
|
(Class) |
class |
name: |
|
(NSString *) |
name |
|
|
| |
- SDK
- macOS 10.6+, iOS 7.0+
Классовый метод создает классовое свойство с использованием заданных класса и названия свойства.
- Аргументы
-
class | - класс |
name | - название свойства |
- Возвращает
- Созданное свойство
- Исключения
-
- (instancetype) initWithClass: |
|
(Class) |
class |
instance: |
|
(BOOL) |
instance |
name: |
|
(NSString *) |
name |
|
|
| |
- SDK
- macOS 10.6+, iOS 7.0+
Классовый метод создает свойство с использованием заданных класса, флага и названия свойства.
- Внимание
- Классовые свойства поддерживаются только на платформах macOS и iOS. При вызове данного метода на платформе GNUstep значение параметра instance игнорируется и метод всегда работает только со свойствами экземпляров класса.
- Аргументы
-
class | - класс |
instance | - YES для свойства экземпляра класса и NO для классового свойства (игнорируется на платформе GNUstep) |
name | - название свойства |
- Возвращает
- Созданное свойство
- Исключения
-
- (instancetype) initWithName: |
|
(NSString *) |
name |
attributes: |
|
(NSDictionary *) |
attributes |
|
|
| |
Метод инициализирует свойство с использованием указанных названия и атрибутов.
- Аргументы
-
name | - название свойства |
attributes | - словарь с атрибутами свойства |
- Возвращает
- Инициализированное свойство
- (instancetype) initWithObjCProperty: |
|
(objc_property_t) |
property |
|
Метод инициализирует свойство с использованием заданного указателя на свойство среды времени выполнения.
- Аргументы
-
property | - указатель на свойство |
- Возвращает
- Инициализированное свойство
- (BOOL) isEqual: |
|
(id) |
object |
|
Метод выполняет сравнение свойства с указанным объектом.
- Аргументы
-
object | - объект для сравнения |
- Возвращает
- YES если свойство совпадает с объектом и NO в противном случае
Переопределяет метод предка SCObject.
- (BOOL) isEqualToName: |
|
(NSString *) |
name |
|
Метод выполняет сравнение свойства со свойством с указанным названием.
- Аргументы
-
name | - название свойства для сравнения |
- Возвращает
- YES если свойства совпадают и NO в противном случае
- (BOOL) isEqualToObjCProperty: |
|
(objc_property_t) |
property |
|
Метод выполняет сравнение свойство с указателем на свойство среды времени выполнения.
- Аргументы
-
property | - указатель на свойство среды времени выполнения для сравнения |
- Возвращает
- YES если свойство совпадает с указателем и NO в противном случае
Метод выполняет сравнение свойства с указанным свойством.
- Аргументы
-
property | - свойство для сравнения |
- Возвращает
- YES если свойства совпадают и NO в противном случае
+ (instancetype) propertyWithClass: |
|
(Class) |
class |
name: |
|
(NSString *) |
name |
|
|
| |
Классовый метод создает свойство экземпляра класса с использованием заданных класса и названия свойства.
- Аргументы
-
class | - класс |
name | - название свойства |
- Возвращает
- Созданное свойство
- Исключения
-
+ (instancetype) propertyWithName: |
|
(NSString *) |
name |
attributes: |
|
(NSDictionary *) |
attributes |
|
|
| |
Классовый метод создает свойство с использованием указанных названия и атрибутов.
- Аргументы
-
name | - название свойства |
attributes | - словарь с атрибутами свойства |
- Возвращает
- Созданное свойство
+ (instancetype) propertyWithObjCProperty: |
|
(objc_property_t) |
property |
|
Классовый метод создает свойство с использованием заданного указателя на свойство среды времени выполнения.
- Аргументы
-
property | - указатель на свойство |
- Возвращает
- Созданное свойство
Определяет наличие атрибута присвоения значения
- (NSString*) attributeEncodings |
|
readnonatomicretain |
Строка с обозначениями типов атрибутов свойства
- (NSDictionary *) attributes |
|
readnonatomicretain |
Словарь с атрибутами свойства
Определяет наличие атрибута копирования значения
Определяет наличие атрибута динамического свойства
- (BOOL) eligibleForGarbageCollection |
|
readnonatomicassign |
Определяет наличие атрибута поддержки механизма сборки мусора
Обозначение типа свойства
Селектор метода получения значения свойства
- (NSString *) getterName |
|
readnonatomicretain |
Название метода получения значения свойства
Определяет наличие атрибута неатомарности свойства
- (NSString *) oldEncoding |
|
readnonatomicretain |
Обозначение типа свойства (старый формат)
Определяет доступность свойства в режиме "только для чтения"
Определяет наличие атрибута управления значением с помощью счетчика ссылок
Селектор метода задания значения свойства
- (NSString *) setterName |
|
readnonatomicretain |
Название метода задания значения свойства
Определяет наличие атрибута передачи значения по ссылке
Объявления и описания членов классов находятся в файлах: