Skip to content

Code to fetch all the instance variables and its corresponding type for an Objective-C Class (using Objective-C runtime)

License

Notifications You must be signed in to change notification settings

emailatravi/ClassProperty

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ClassProperty

Version License Platform

Why use ClassProperty?

Code to fetch all the instance variables and its corresponding type for an Objective-C Class (using Objective-C runtime)

It also supports Super class

Usage

To run the example project, clone the repo, and run pod install from the Example directory first.

Installation

ClassProperty is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "ClassProperty"

Author

Ravi Prakash Sahu, emailatravi@gmail.com

License

ClassProperty is available under the MIT license. See the LICENSE file for more info.

Example

Lets say we have three classes

RSClassA

@interface RSClassA : NSObject

@property NSString *alpha;
@property NSNumber *beta;
@property NSData *gamma;
@property NSArray *listArray;

@end

RSClassB

@interface RSClassB : RSClassA

@property NSString *intel;
@property NSString *mac;

@end

RSClassC

@interface RSClassC : RSClassB

@property NSInteger count;
@property CGFloat height;
@property NSIndexPath *indexPath;

@end

Simply import this

#import <ClassProperty/ClassProperty.h>

Sample code

NSDictionary *propertyDict = [ClassProperty getPropertyDictionaryForClass:[RSClassC class]];
for (NSString *key in [propertyDict allKeys]) {
	NSLog(@"Key : %@, Type : %@", key, [propertyDict valueForKey:key]);
}

OR

NSDictionary *propertyDict = [ClassProperty getPropertyDictionaryForClass:NSClassFromString(@"RSClassC")];
for (NSString *key in [propertyDict allKeys]) {
	NSLog(@"Key : %@, Type : %@", key, [propertyDict valueForKey:key]);
}

About

Code to fetch all the instance variables and its corresponding type for an Objective-C Class (using Objective-C runtime)

Resources

License

Stars

Watchers

Forks

Packages

No packages published