CocoaPods trunk is moving to be read-only. Read more on the blog, there are 14 months to go.
| TestsTested | ✓ | 
| LangLanguage | Obj-CObjective C | 
| License | MIT | 
| ReleasedLast Release | Jan 2015 | 
Maintained by Adam Kirk.
Obj-C Library that makes runtime self-inspection and class modification dead easy.
Using objective-c objects to wrap classes methods and properties, it is much easier and straight-forward to get information about a classes properties.
Creating methods from blocks and adding them to classes is also dead easy.
Easily get information about properties:
NSArray *properties = [self.klass properties];
for (MYSProperty *property in properties) {
    property.type           // e.g. MYSTypeLongLong
    property.name           // e.g. propertyName
    property.isReadOnly;  
    property.storageType;   // e.g. MYSPropertyStorageTypeStrong
    property.isNonAtomic;
    property.getter;        // the name of the getter method.
    property.setter;        // the name of the setter method.
    property.isDynamic;
    property.isElegibleForGarbageCollection; 
    property.propertyAttributesString; // the original attributes string.
}
Easily create methods from blocks and add them as methods to classes.
MYSMethod *testMethod = [[MYSMethod alloc] initWithName:@"setName:age:"
                                    implementationBlock:^(id self, NSString *name, NSNumber *age)
{
    [self setObjectTest:name];
    [self setLongTest:[age longValue]];
}];
MYSClass *testClass   = [[MYSClass alloc] initWithClass:[MYSTestClass class]];
[testClass addMethod:testMethod];
Adam Kirk @atomkirk
Uses CTBlockDescription.