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