NSArray+Log.m 1008 B

123456789101112131415161718192021222324252627282930313233343536
  1. //
  2. // NSArray+Log.m
  3. // VclustersGemini
  4. //
  5. // Created by xd h on 2020/6/24.
  6. // Copyright © 2020 APPLE. All rights reserved.
  7. //
  8. #import "NSArray+Log.h"
  9. @implementation NSArray (Log)
  10. - (NSString *)descriptionWithLocale:(nullable id)locale indent:(NSUInteger)level{
  11. NSMutableString *mStr = [NSMutableString string];
  12. NSMutableString *tab = [NSMutableString stringWithString:@""];
  13. for (int i = 0; i < level; i++) {
  14. [tab appendString:@"\t"];
  15. }
  16. [mStr appendString:@"(\n"];
  17. for (int i = 0; i < self.count; i++) {
  18. NSString *lastSymbol = (self.count == i + 1) ? @"":@",";
  19. id value = self[i];
  20. if ([value respondsToSelector:@selector(descriptionWithLocale:indent:)]) {
  21. [mStr appendFormat:@"\t%@%@%@\n",tab,[value descriptionWithLocale:locale indent:level + 1],lastSymbol];
  22. } else {
  23. [mStr appendFormat:@"\t%@%@%@\n",tab,value,lastSymbol];
  24. }
  25. }
  26. [mStr appendFormat:@"%@)",tab];
  27. return mStr;
  28. }
  29. @end