Floc Reflection 是一组 Objective-C 中用于轻松检查对象的类方法。
Car *car = [[Car alloc] init];
BOOL isClass = [FLReflection isClass:car];
BOOL isProtocol = [FLReflection isProtocol:car];
BOOL isBlock = [FLReflection isBlock:car];
BOOL isInstance = [FLReflection isInstance:car];
NSLog(@"isClass = %d", isClass); // NO
NSLog(@"isProtocol = %d", isProtocol); // NO
NSLog(@"isBlock = %d", isBlock); // NO
NSLog(@"isInstance = %d", isInstance); // YES
NSArray *propertyNames = [FLReflection getAllPropertyNamesOfClass:[Car class]];
NSLog(@"propertyNames = %@", propertyNames); // [@"wheel", @"engine"]
// returns class 'Wheel'
id wheelType = [FLReflection getTypeForProperty:@"wheel"
ofClass:[Car class]];
// returns protocol <Engine>
id engineType = [FLReflection getTypeForProperty:@"engine"
ofClass:[Car class]];
你可以在 Floc-Reflection/Classes 中找到你需要源文件。
$ cd path/to/project
$ pod install
打开创建的 Xcode Workspace 文件。