IGListKit/Source/Internal/IGListSectionMap+DebugDescription.m
Candance Smith 1faf59b302 Added debug dump support to IGListBindingSectionController
Summary:
Issue fixed: #698

- [x] All tests pass. Demo project builds and runs.
- [x] I added tests, an experiment, or detailed why my change isn't tested.
- [x] I added an entry to the `CHANGELOG.md` for any breaking changes, enhancements, or bug fixes.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/.github/CONTRIBUTING.md)
Closes https://github.com/Instagram/IGListKit/pull/856

Differential Revision: D5611625

Pulled By: rnystrom

fbshipit-source-id: d9d54e2a10cf0cfae6cff121c20cc8d24d802716
2017-08-11 09:19:00 -07:00

31 lines
1.2 KiB
Objective-C

/**
* Copyright (c) 2016-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*/
#import "IGListSectionMap+DebugDescription.h"
#import "IGListBindingSectionController.h"
@implementation IGListSectionMap (DebugDescription)
- (NSArray<NSString *> *)debugDescriptionLines {
NSMutableArray *debug = [NSMutableArray new];
#if IGLK_DEBUG_DESCRIPTION_ENABLED
[self enumerateUsingBlock:^(id object, IGListSectionController *sectionController, NSInteger section, BOOL *stop) {
if ([sectionController isKindOfClass:[IGListBindingSectionController class]]) {
[debug addObject:[sectionController debugDescription]];
} else {
[debug addObject:[NSString stringWithFormat:@"Object and section controller at section: %zi:", section]];
[debug addObject:[NSString stringWithFormat:@" %@", object]];
[debug addObject:[NSString stringWithFormat:@" %@", sectionController]];
}
}];
#endif // #if IGLK_DEBUG_DESCRIPTION_ENABLED
return debug;
}
@end