23 #import <Foundation/Foundation.h>
27 #pragma mark Class Constants
37 #define SCRuntimePropertyClass @"SCRuntimeProperty"
40 #pragma mark Property Support Types
115 objc_property_t _property;
117 NSMutableDictionary *_attributes;
118 NSString *_attributeEncodings;
122 #pragma mark Creating and Initializing Properties
127 + (instancetype)propertyWithObjCProperty:(objc_property_t)property;
128 + (instancetype)propertyWithName:(NSString *)name attributes:(NSDictionary *)attributes;
129 + (instancetype)propertyWithClass:(Class)class name:(NSString *)name;
130 + (instancetype)classPropertyWithClass:(Class)class name:(NSString *)name;
132 - (instancetype)initWithObjCProperty:(objc_property_t)property;
133 - (instancetype)initWithName:(NSString *)name attributes:(NSDictionary *)attributes;
134 - (instancetype)initWithClass:(Class)class instance:(BOOL)instance name:(NSString *)name;
137 #pragma mark Quering Properties
147 @property (nonatomic, readonly, retain) NSString *name;
153 @property (nonatomic, readonly, retain) NSDictionary *attributes;
159 @property (nonatomic, readonly, retain) NSString *attributeEncodings;
165 @property (nonatomic,
readonly, assign) BOOL readonly;
177 @property (nonatomic, readonly, assign) BOOL assignProperty;
183 @property (nonatomic, readonly, assign) BOOL retainProperty;
189 @property (nonatomic, readonly, assign) BOOL copyProperty;
201 @property (nonatomic, readonly, assign) BOOL dynamic;
207 @property (nonatomic, readonly, assign) BOOL weakReference;
213 @property (nonatomic, readonly, assign) BOOL eligibleForGarbageCollection;
219 @property (nonatomic, readonly, assign)
SEL getter;
225 @property (nonatomic, readonly, assign)
SEL setter;
231 @property (nonatomic, readonly, retain) NSString *getterName;
237 @property (nonatomic, readonly, retain) NSString *setterName;
243 @property (nonatomic, readonly, retain) NSString *encoding;
249 @property (nonatomic, readonly, retain) NSString *oldEncoding;
255 @property (nonatomic, readonly, retain) NSString *fieldName;
259 #pragma mark Comparing Properties
261 - (BOOL)isEqualToName:(NSString *)name;
262 - (BOOL)isEqual:(
id)object;
263 - (BOOL)isEqualToObjCProperty:(objc_property_t)property;
266 #pragma mark Communicating with Classes
267 - (BOOL)addToClass:(Class)class instance:(BOOL)instance;
269 - (BOOL)availableInClass:(Class)class instance:(BOOL)instance;
273 #pragma mark Communicating with Protocols
275 - (BOOL)availableInProtocol:(
SCRuntimeProtocol *)protocol required:(BOOL)required instance:(BOOL)instance;
276 - (BOOL)availableInProtocolWithName:(NSString *)name required:(BOOL)required instance:(BOOL)instance;
SCRuntimePropertySetterSemantics
Definition: SCRuntimeProperty.h:50
Definition: SCRuntimeProperty.h:55
Representation of a protocols.
Definition: SCRuntimeProtocol.h:77
BOOL nonatomic
Definition: SCRuntimeProperty.h:195
Definition: SCRuntimeProperty.h:61
BOOL readonly
Definition: SCRuntimeProperty.h:165
Class SCRuntimeObject header file.
Definition: SCRuntimeProperty.h:67
Representation of a class property.
Definition: SCRuntimeProperty.h:114
Representation of an unregistered protocols.
Definition: SCRuntimeUnregisteredProtocol.h:75
Representation of an unregistered classes.
Definition: SCRuntimeUnregisteredClass.h:85
Parent class of all library runtime classes.
Definition: SCRuntimeObject.h:53