Without custom class you could overwrite the method in the UITabBarController with a category.
Example:
//UITabBarController+Description.m
@implementation UITabBarController+Description (UITabBarController)
- (NSString *)description {
NSString *output = [NSString stringWithFormat:@"The tabBarController with backgroundImage: %@", self.tabBar.backgroundImage];
return output;
}
@end
Documentation from Apple here: https://developer.apple.com/library/ios/documentation/cocoa/conceptual/ProgrammingWithObjectiveC/CustomizingExistingClasses/CustomizingExistingClasses.html