NSObject+FIDProperty.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. //
  2. // NSObject+FIDProperty.h
  3. // runtimeCategory
  4. //
  5. // Created by Fidetro on 2016/11/4.
  6. // Copyright © 2016年 Fidetro. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import <objc/runtime.h>
  10. @interface NSObject (FIDProperty)
  11. /**
  12. @return 返回所有属性名
  13. */
  14. + (NSArray *)propertyOfSelf;
  15. /**
  16. 获取对象所有公开的属性
  17. @return 返回公开属性对象的数组
  18. */
  19. - (NSArray *)getPublicObject;
  20. /**
  21. 模型转字典
  22. @return 返回由对象所有属性组成字典(不含空的属性)
  23. */
  24. - (NSDictionary *)modelToDictionary;
  25. /**
  26. 模型转字典
  27. @return 返回由对象所有属性组成字典(含空的属性)
  28. */
  29. - (NSDictionary *)modelToDictionaryHaveNilProperty;
  30. /**
  31. 模型转数组
  32. @return 返回由对象所有属性组成数组(不含空的属性)
  33. */
  34. - (NSArray *)modelToArray;
  35. /**
  36. 模型转数组
  37. @return 返回由对象所有属性组成数组(含空的属性)
  38. */
  39. - (NSDictionary *)modelToArrayHaveNilProperty;
  40. /**
  41. get属性
  42. @param propertyName 属性名
  43. @return 返回属性obj
  44. */
  45. - (id)sendGetMethodWithPropertyName:(NSString *)propertyName;
  46. /**
  47. set属性
  48. @param propertyName 属性名
  49. @param object obj
  50. */
  51. - (void)setPropertyWithName:(NSString *)propertyName object:(id)object;
  52. @end