swift3.0 利用运行时机制查看所有的属性名称
var count : UInt32 = 0 let ivars = class_copyIvarList(UIGestureRecognizer.self,&count)! for i in 0..<count { let ivar = ivars[Int(i)] let name = ivar_getName(ivar) print(String(cString: name!)) }
OC版本的也增加上班
- (NSArray *)filterPropertys { NSMutableArray *props = [NSMutableArray array]; unsigned int outCount,i; objc_property_t *properties = class_copyPropertyList([self class],&outCount); for (i = 0; i<outCount; i++) { objc_property_t property = *properties; const char* char_f =property_getName(property); NSString *propertyName = [NSString stringWithUTF8String:char_f]; NSLog(@"%@",propertyName); } free(properties); return props; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。