NSMutableArray+safe.m 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. //
  2. // NSMutableArray+safe.m
  3. // categories
  4. //
  5. // Created by wentian on 17/6/1.
  6. //
  7. //
  8. #import "NSMutableArray+safe.h"
  9. @implementation NSMutableArray (safe)
  10. - (void)safe_addObject:(id)anObject {
  11. if (anObject) {
  12. [self addObject:anObject];
  13. }
  14. }
  15. @end
  16. // - - - -
  17. id yy_arrGetObject(NSArray *arr, NSUInteger index, Class aClass) {
  18. NSDictionary *result = nil;
  19. if (index < arr.count) {
  20. result = [arr objectAtIndex:index];
  21. if (result && [result isKindOfClass:aClass]) {
  22. return result;
  23. }
  24. }
  25. return nil;
  26. }
  27. // - - -
  28. NSDictionary * yy_arrGetDic(NSArray *arr, NSUInteger index) {
  29. NSDictionary *result = nil;
  30. if ( index<arr.count ) {
  31. result = [arr objectAtIndex:index];
  32. if ( result && [result isKindOfClass:[NSDictionary class]] ) {
  33. return result;
  34. }
  35. }
  36. return nil;
  37. }
  38. NSString * yy_arrGetString(NSArray *arr, NSUInteger index) {
  39. id object = yy_arrGetObject(arr, index, [NSObject class]);
  40. if ([object isKindOfClass:[NSString class]]) {
  41. return object;
  42. }
  43. if ([object isKindOfClass:[NSNumber class]]) {
  44. return [NSString stringWithFormat:@"%@",object];
  45. }
  46. return nil;
  47. }
  48. NSArray * yy_arrGetArray(NSArray *arr, NSUInteger index) {
  49. return yy_arrGetObject(arr, index, [NSArray class]);
  50. }