Latest 1.0.0
Homepage https://github.com/0x5e/NSObject-NSLog
License MIT
Platforms ios 7.0, osx 10.9
Frameworks Foundation
Authors

CI Status
Version
License
Platform

A simple drop-in library to support NSDictionary/NSArray/NSSet unicode encoding output when using NSLog(@"%@", dict);

Features

  • Support unicode character
  • Nested indent
  • DEBUG macro
  • Unit test
  • Travis-ci
  • Boundary treatment
  • Eliminate ambiguity

Reference

swift-corelibs-foundation

Requirements

NSObject+NSLog require iOS 7.0+ or macOS 10.9+.

Installation

NSObject+NSLog is available through CocoaPods. To install
it, simply add the following line to your Podfile:

pod "NSObject+NSLog"

Example

Empty directory:

NSDictionary *dict = @{};
NSLog(@"%@", dict);

// output
2017-01-14 21:16:32.573974 xctest[53279:9350242] {
    "dict" = {};
}

Nested indent directory:

NSDictionary *dict = @{@"dict": @{@"dict2": @{@"key": @"value"}}};
NSLog(@"%@", dict);

// output
2017-01-14 21:16:32.574952 xctest[53279:9350242] {
    "dict" = {
        "dict2" = {
            "key" = "value";
        };
    };
}

Numbers:

NSDictionary *dict = @{@"number": @(0)};
NSLog(@"%@", dict);

NSDictionary *dict2 = @{@"number": @(0.1)};
NSLog(@"%@", dict2);

NSDictionary *dict3 = @{@"number": @(-2.2)};
NSLog(@"%@", dict3);

// output
2017-01-14 21:16:32.572450 xctest[53279:9350242] {
    "number" = 0;
}
2017-01-14 21:16:32.572555 xctest[53279:9350242] {
    "number" = 0.1;
}
2017-01-14 21:16:32.572618 xctest[53279:9350242] {
    "number" = -2.2;
}

Unicode:

NSDictionary *dict = @{@"emoji": @"🐒🐔🐶🐷"};
NSLog(@"%@", dict);

NSDictionary *dict2 = @{@"chinese": @"中文"};
NSLog(@"%@", dict2);

// output
2017-01-14 21:16:32.577841 xctest[53279:9350242] {
    "emoji" = "🐒🐔🐶🐷";
}
2017-01-14 21:16:32.577890 xctest[53279:9350242] {
    "chinese" = "中文";
}

Author

gaosen, [email protected]

License

NSObject+NSLog is available under the MIT license. See the LICENSE file for more info.

TODO

  • NSString escape(CFString​Transform
  • NSDictionary、NSSet print before sort
  • More unit test case

Latest podspec

{
    "name": "NSObject+NSLog",
    "version": "1.0.0",
    "summary": "A simple drop-in library to support `NSDictionary/NSArray/NSSet` unicode encoding output when using NSLog(@"%@", dict);",
    "description": "As we know, when print `NSDictionary/NSArray/NSSet` with `NSLog`, non-ascii characers will be convert to `\Uxxxx` format. Let me revert back:)",
    "homepage": "https://github.com/0x5e/NSObject-NSLog",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "gaosen": "[email protected]"
    },
    "source": {
        "git": "https://github.com/0x5e/NSObject-NSLog.git",
        "tag": "1.0.0"
    },
    "platforms": {
        "ios": "7.0",
        "osx": "10.9"
    },
    "source_files": "NSObject+NSLog/Classes/**/*",
    "frameworks": "Foundation"
}

Pin It on Pinterest

Share This