# LxDBAnything Automate box any value! Print log without any format control symbol! Change debug habit thoroughly! ### Installation You only need drag LxDBAnything.h to your project. ### Podfile pod 'LxDBAnything', '~> 1.1.1' ### Support Minimum support iOS version: iOS 6.0 ### Usage ```objc #import "LxDBAnything.h" id obj = self.view; LxDBAnyVar(obj); CGPoint point = CGPointMake(12.34, 56.78); LxDBAnyVar(point); CGSize size = CGSizeMake(87.6, 5.43); LxDBAnyVar(size); CGRect rect = CGRectMake(2.3, 4.5, 5.6, 7.8); LxDBAnyVar(rect); NSRange range = NSMakeRange(3, 56); LxDBAnyVar(range); CGAffineTransform affineTransform = CGAffineTransformMake(1, 2, 3, 4, 5, 6); LxDBAnyVar(affineTransform); UIEdgeInsets edgeInsets = UIEdgeInsetsMake(3, 4, 5, 6); LxDBAnyVar(edgeInsets); SEL sel = @selector(viewDidLoad); LxDBAnyVar(sel); Class class = [UIBarButtonItem class]; LxDBAnyVar(class); NSInteger i = 231; LxDBAnyVar(i); CGFloat f = M_E; LxDBAnyVar(f); BOOL b = YES; LxDBAnyVar(b); char c = 'S'; LxDBAnyVar(c); CGColorSpaceRef colorSpaceRef = CGColorSpaceCreateDeviceRGB(); LxDBAnyVar(colorSpaceRef); // ...... LxPrintAnything(You can use macro LxPrintAnything() print any without quotation as you want!); LxPrintf(@"Print format string you customed: %@", LxBox(affineTransform)); NSLog(@"Even use general NSLog function to print: %@", LxBox(edgeInsets)); LxPrintf(@"The type of obj is %@", LxTypeStringOfVar(obj)); LxPrintf(@"The type of point is %@", LxTypeStringOfVar(point)); LxPrintf(@"The type of size is %@", LxTypeStringOfVar(size)); LxPrintf(@"The type of rect is %@", LxTypeStringOfVar(rect)); LxPrintf(@"The type of range is %@", LxTypeStringOfVar(range)); LxPrintf(@"The type of affineTransform is %@", LxTypeStringOfVar(affineTransform)); LxPrintf(@"The type of edgeInsets is %@", LxTypeStringOfVar(edgeInsets)); LxPrintf(@"The type of class is %@", LxTypeStringOfVar(class)); LxPrintf(@"The type of i is %@", LxTypeStringOfVar(i)); LxPrintf(@"The type of f is %@", LxTypeStringOfVar(f)); LxPrintf(@"The type of b is %@", LxTypeStringOfVar(b)); LxPrintf(@"The type of c is %@", LxTypeStringOfVar(c)); LxPrintf(@"The type of colorSpaceRef is %@", LxTypeStringOfVar(colorSpaceRef)); // ...... TestModel * testModel = [[TestModel alloc]init]; testModel.array = @[@1, @"fewfwe", @{@21423.654:@[@"fgewgweg", [UIView new]]}, @YES]; testModel.dictionary = @{@YES:@[[UITableViewCell new], @"fgewgweg", @-543.64]}; testModel.set = [NSSet setWithObjects:@NO, @4.325, @{@"fgewgweg":[UIView new]}, nil]; testModel.orderSet = [NSOrderedSet orderedSetWithObjects:@{@21423.654:@[@"fgewgweg", [UIView new]]}, @1, @"fewfwe", @YES, nil]; LxDBObjectAsJson(testModel); LxDBObjectAsXml(testModel); LxDBViewHierarchy(self.view.window); // Run your application and you'll see: ๐Ÿ“-[ViewController viewDidLoad] + 24๐ŸŽˆ obj = > ๐Ÿ“-[ViewController viewDidLoad] + 27๐ŸŽˆ point = NSPoint: {12.34, 56.780000000000001} ๐Ÿ“-[ViewController viewDidLoad] + 30๐ŸŽˆ size = NSSize: {87.599999999999994, 5.4299999999999997} ๐Ÿ“-[ViewController viewDidLoad] + 33๐ŸŽˆ rect = NSRect: {{2.2999999999999998, 4.5}, {5.5999999999999996, 7.7999999999999998}} ๐Ÿ“-[ViewController viewDidLoad] + 36๐ŸŽˆ range = NSRange: {3, 56} ๐Ÿ“-[ViewController viewDidLoad] + 39๐ŸŽˆ affineTransform = CGAffineTransform: {{1, 2, 3, 4}, {5, 6}} ๐Ÿ“-[ViewController viewDidLoad] + 42๐ŸŽˆ edgeInsets = UIEdgeInsets: {3, 4, 5, 6} ๐Ÿ“-[ViewController viewDidLoad] + 45๐ŸŽˆ sel = viewDidLoad ๐Ÿ“-[ViewController viewDidLoad] + 48๐ŸŽˆ class = UIBarButtonItem ๐Ÿ“-[ViewController viewDidLoad] + 51๐ŸŽˆ i = 231 ๐Ÿ“-[ViewController viewDidLoad] + 54๐ŸŽˆ f = 2.718281828459045 ๐Ÿ“-[ViewController viewDidLoad] + 57๐ŸŽˆ b = YES ๐Ÿ“-[ViewController viewDidLoad] + 60๐ŸŽˆ c = S ๐Ÿ“-[ViewController viewDidLoad] + 63๐ŸŽˆ colorSpaceRef = 0x7ff8ba706da0 ๐Ÿ“-[ViewController viewDidLoad] + 67๐ŸŽˆ You can use macro LxPrintAnything() print any without quotation as you want! ๐Ÿ“-[ViewController viewDidLoad] + 69๐ŸŽˆ Print format string you customed: CGAffineTransform: {{1, 2, 3, 4}, {5, 6}} 2015-11-23 15:40:25.639 LxDBAnythingDemo[12699:198689] Even use normal NSLog function to print: UIEdgeInsets: {3, 4, 5, 6} ๐Ÿ“-[ViewController viewDidLoad] + 73๐ŸŽˆ The type of obj is UIView ๐Ÿ“-[ViewController viewDidLoad] + 74๐ŸŽˆ The type of point is CGPoint ๐Ÿ“-[ViewController viewDidLoad] + 75๐ŸŽˆ The type of size is CGSize ๐Ÿ“-[ViewController viewDidLoad] + 76๐ŸŽˆ The type of rect is CGRect ๐Ÿ“-[ViewController viewDidLoad] + 77๐ŸŽˆ The type of range is NSRange ๐Ÿ“-[ViewController viewDidLoad] + 78๐ŸŽˆ The type of affineTransform is CGAffineTransform ๐Ÿ“-[ViewController viewDidLoad] + 79๐ŸŽˆ The type of edgeInsets is LxEdgeInsets ๐Ÿ“-[ViewController viewDidLoad] + 80๐ŸŽˆ The type of class is Class ๐Ÿ“-[ViewController viewDidLoad] + 81๐ŸŽˆ The type of i is long ๐Ÿ“-[ViewController viewDidLoad] + 82๐ŸŽˆ The type of f is double ๐Ÿ“-[ViewController viewDidLoad] + 83๐ŸŽˆ The type of b is BOOL ๐Ÿ“-[ViewController viewDidLoad] + 84๐ŸŽˆ The type of c is char ๐Ÿ“-[ViewController viewDidLoad] + 85๐ŸŽˆ The type of colorSpaceRef is pointer ๐Ÿ“-[ViewController viewDidLoad] + 95๐ŸŽˆ = { "affineTransform" : "CGAffineTransform: {{0, 0, 0, 0}, {0, 0}}", "orderSet" : [ { "21423.654" : [ "fgewgweg", ">" ] }, "1", "fewfwe" ], "dictionary" : { "1" : [ ">", "fgewgweg", "-543.64" ] }, "flt" : "0", "chr" : "0", "size" : "NSSize: {0, 0}", "edgeInsets" : "UIEdgeInsets: {0, 0, 0, 0}", "set" : [ "0", "4.325", { "fgewgweg" : ">" } ], "bl" : "0", "point" : "NSPoint: {0, 0}", "array" : [ "1", "fewfwe", { "21423.654" : [ "fgewgweg", ">" ] }, "1" ], "range" : "NSRange: {0, 0}", "integer" : "0", "rect" : "NSRect: {{0, 0}, {0, 0}}" } ๐Ÿ“-[ViewController viewDidLoad] + 96๐ŸŽˆ = affineTransform CGAffineTransform: {{0, 0, 0, 0}, {0, 0}} array 1 fewfwe 21423.654 fgewgweg <UIView: 0x7ff8ba7114e0; frame = (0 0; 0 0); layer = <CALayer: 0x7ff8ba70c680>> 1 bl 0 chr 0 dictionary 1 <UITableViewCell: 0x7ff8ba7117e0; frame = (0 0; 320 44); layer = <CALayer: 0x7ff8ba711d20>> fgewgweg -543.64 edgeInsets UIEdgeInsets: {0, 0, 0, 0} flt 0 integer 0 orderSet 21423.654 fgewgweg <UIView: 0x7ff8ba713fc0; frame = (0 0; 0 0); layer = <CALayer: 0x7ff8ba714130>> 1 fewfwe point NSPoint: {0, 0} range NSRange: {0, 0} rect NSRect: {{0, 0}, {0, 0}} set 0 4.325 fgewgweg <UIView: 0x7ff8ba713d10; frame = (0 0; 0 0); layer = <CALayer: 0x7ff8ba713e80>> size NSSize: {0, 0} ๐Ÿ“-[ViewController viewDidAppear:] + 103๐ŸŽˆself.view.window = 0๏ผƒ ; layer = > 1๏ผƒ > 2๏ผƒ <_UILayoutGuide: 0x7ff8ba712380; frame = (0 0; 0 20); hidden = YES; layer = > 2๏ผƒ <_UILayoutGuide: 0x7ff8ba534d40; frame = (0 736; 0 0); hidden = YES; layer = > // Different debug log experience! ``` ### License LxDBAnything is available under the MIT License. See the LICENSE file for more info.