Put all ascii box methods into a Debugging category.

This commit is contained in:
rcancro
2015-10-19 08:32:14 -07:00
parent 3b983c5a50
commit f164b97700
8 changed files with 39 additions and 15 deletions

View File

@@ -48,7 +48,7 @@ typedef void (^ASDisplayNodeDidLoadBlock)(ASDisplayNode *node);
* *
*/ */
@interface ASDisplayNode : ASDealloc2MainObject <ASLayoutable, ASLayoutableAsciiArtProtocol> @interface ASDisplayNode : ASDealloc2MainObject <ASLayoutable>
/** @name Initializing a node object */ /** @name Initializing a node object */
@@ -659,6 +659,9 @@ typedef void (^ASDisplayNodeDidLoadBlock)(ASDisplayNode *node);
- (void)addSubnode:(ASDisplayNode *)node; - (void)addSubnode:(ASDisplayNode *)node;
@end @end
@interface ASDisplayNode (Debugging) <ASLayoutableAsciiArtProtocol>
@end
@interface ASDisplayNode (Deprecated) @interface ASDisplayNode (Deprecated)
- (void)reclaimMemory ASDISPLAYNODE_DEPRECATED; - (void)reclaimMemory ASDISPLAYNODE_DEPRECATED;

View File

@@ -2074,19 +2074,6 @@ static void _recursivelySetDisplaySuspended(ASDisplayNode *node, CALayer *layer,
return self; return self;
} }
#pragma mark - ASLayoutableAsciiArtProtocol
- (NSString *)asciiArtString
{
return [ASLayoutSpec asciiArtStringForChildren:@[] parentName:[self asciiArtName]];
}
- (NSString *)asciiArtName
{
return NSStringFromClass([self class]);
}
@end @end
@implementation ASDisplayNode (Debugging) @implementation ASDisplayNode (Debugging)
@@ -2150,6 +2137,18 @@ static void _recursivelySetDisplaySuspended(ASDisplayNode *node, CALayer *layer,
return subtree; return subtree;
} }
#pragma mark - ASLayoutableAsciiArtProtocol
- (NSString *)asciiArtString
{
return [ASLayoutSpec asciiArtStringForChildren:@[] parentName:[self asciiArtName]];
}
- (NSString *)asciiArtName
{
return NSStringFromClass([self class]);
}
@end @end
// We use associated objects as a last resort if our view is not a _ASDisplayView ie it doesn't have the _node ivar to write to // We use associated objects as a last resort if our view is not a _ASDisplayView ie it doesn't have the _node ivar to write to

View File

@@ -12,7 +12,7 @@
#import <AsyncDisplayKit/ASAsciiArtBoxCreator.h> #import <AsyncDisplayKit/ASAsciiArtBoxCreator.h>
/** A layout spec is an immutable object that describes a layout, loosely inspired by React. */ /** A layout spec is an immutable object that describes a layout, loosely inspired by React. */
@interface ASLayoutSpec : NSObject <ASLayoutable, ASLayoutableAsciiArtProtocol> @interface ASLayoutSpec : NSObject <ASLayoutable>
/** /**
* Creation of a layout spec should only happen by a user in layoutSpecThatFits:. During that method, a * Creation of a layout spec should only happen by a user in layoutSpecThatFits:. During that method, a
@@ -95,7 +95,9 @@
/** Returns all children added to this layout spec. */ /** Returns all children added to this layout spec. */
- (NSArray *)children; - (NSArray *)children;
@end
@interface ASLayoutSpec (Debugging) <ASLayoutableAsciiArtProtocol>
/** /**
* Used by other layout specs to create ascii art debug strings * Used by other layout specs to create ascii art debug strings
*/ */

View File

@@ -122,6 +122,10 @@ static NSString * const kDefaultChildrenKey = @"kDefaultChildrenKey";
return self.layoutChildren[kDefaultChildrenKey]; return self.layoutChildren[kDefaultChildrenKey];
} }
@end
@implementation ASLayoutSpec (Debugging)
#pragma mark - ASLayoutableAsciiArtProtocol #pragma mark - ASLayoutableAsciiArtProtocol
+ (NSString *)asciiArtStringForChildren:(NSArray<id<ASLayoutableAsciiArtProtocol>> *)children parentName:(NSString *)parentName direction:(ASStackLayoutDirection)direction + (NSString *)asciiArtStringForChildren:(NSArray<id<ASLayoutableAsciiArtProtocol>> *)children parentName:(NSString *)parentName direction:(ASStackLayoutDirection)direction

View File

@@ -72,6 +72,10 @@ static NSString * const kOverlayChildKey = @"kOverlayChildKey";
return nil; return nil;
} }
@end
@implementation ASOverlayLayoutSpec (Debugging)
#pragma mark - ASLayoutableAsciiArtProtocol #pragma mark - ASLayoutableAsciiArtProtocol
- (NSString *)debugBoxString - (NSString *)debugBoxString

View File

@@ -86,6 +86,10 @@
return nil; return nil;
} }
@end
@implementation ASRatioLayoutSpec (Debugging)
#pragma mark - ASLayoutableAsciiArtProtocol #pragma mark - ASLayoutableAsciiArtProtocol
- (NSString *)asciiArtName - (NSString *)asciiArtName

View File

@@ -135,6 +135,10 @@
sublayouts:sublayouts]; sublayouts:sublayouts];
} }
@end
@implementation ASStackLayoutSpec (Debugging)
#pragma mark - ASLayoutableAsciiArtProtocol #pragma mark - ASLayoutableAsciiArtProtocol
- (NSString *)asciiArtString - (NSString *)asciiArtString

View File

@@ -84,6 +84,10 @@
return nil; return nil;
} }
@end
@implementation ASStaticLayoutSpec (Debugging)
#pragma mark - ASLayoutableAsciiArtProtocol #pragma mark - ASLayoutableAsciiArtProtocol
- (NSString *)debugBoxString - (NSString *)debugBoxString