| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- //
- // FLEXArrayExplorerViewController.m
- // Flipboard
- //
- // Created by Ryan Olson on 5/15/14.
- // Copyright (c) 2014 Flipboard. All rights reserved.
- //
- #import "FLEXArrayExplorerViewController.h"
- #import "FLEXRuntimeUtility.h"
- #import "FLEXObjectExplorerFactory.h"
- @interface FLEXArrayExplorerViewController ()
- @property (nonatomic, readonly) NSArray *array;
- @end
- @implementation FLEXArrayExplorerViewController
- - (NSArray *)array
- {
- return [self.object isKindOfClass:[NSArray class]] ? self.object : nil;
- }
- #pragma mark - Superclass Overrides
- - (NSString *)customSectionTitle
- {
- return @"Array Indices";
- }
- - (NSArray *)customSectionRowCookies
- {
- // Use index numbers as the row cookies
- NSMutableArray *cookies = [NSMutableArray arrayWithCapacity:[self.array count]];
- for (NSUInteger i = 0; i < [self.array count]; i++) {
- [cookies addObject:@(i)];
- }
- return cookies;
- }
- - (NSString *)customSectionTitleForRowCookie:(id)rowCookie
- {
- return [rowCookie description];
- }
- - (NSString *)customSectionSubtitleForRowCookie:(id)rowCookie
- {
- return [FLEXRuntimeUtility descriptionForIvarOrPropertyValue:[self detailObjectForRowCookie:rowCookie]];
- }
- - (BOOL)customSectionCanDrillIntoRowWithCookie:(id)rowCookie
- {
- return YES;
- }
- - (UIViewController *)customSectionDrillInViewControllerForRowCookie:(id)rowCookie
- {
- return [FLEXObjectExplorerFactory explorerViewControllerForObject:[self detailObjectForRowCookie:rowCookie]];
- }
- - (BOOL)shouldShowDescription
- {
- return NO;
- }
- #pragma mark - Helpers
- - (id)detailObjectForRowCookie:(id)rowCookie
- {
- NSUInteger index = [rowCookie unsignedIntegerValue];
- return self.array[index];
- }
- @end
|