NSObject+RACDescription.m 995 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. //
  2. // NSObject+RACDescription.m
  3. // ReactiveCocoa
  4. //
  5. // Created by Justin Spahr-Summers on 2013-05-13.
  6. // Copyright (c) 2013 GitHub, Inc. All rights reserved.
  7. //
  8. #import "NSObject+RACDescription.h"
  9. #import "RACTuple.h"
  10. @implementation NSValue (RACDescription)
  11. - (NSString *)rac_description {
  12. return self.description;
  13. }
  14. @end
  15. @implementation NSString (RACDescription)
  16. - (NSString *)rac_description {
  17. return self.description;
  18. }
  19. @end
  20. @implementation RACTuple (RACDescription)
  21. - (NSString *)rac_description {
  22. if (getenv("RAC_DEBUG_SIGNAL_NAMES") != NULL) {
  23. return self.allObjects.description;
  24. } else {
  25. return @"(description skipped)";
  26. }
  27. }
  28. @end
  29. NSString *RACDescription(id object) {
  30. if (getenv("RAC_DEBUG_SIGNAL_NAMES") != NULL) {
  31. if ([object respondsToSelector:@selector(rac_description)]) {
  32. return [object rac_description];
  33. } else {
  34. return [[NSString alloc] initWithFormat:@"<%@: %p>", [object class], object];
  35. }
  36. } else {
  37. return @"(description skipped)";
  38. }
  39. }