2016-07-11 11 views
0

我尋找最佳的方式來打印解碼的unicode符號的NSArray和NSDictionary的嵌套對象的日誌。用嵌套NSDictionary或NSArray解碼unicode符號打印對象日誌的最佳方法是什麼?

我知道description屬性,但它以\ Uxxxx格式打印unicode符號。另外我知道,可以枚舉對象並單獨打印它的鍵,但對於大型嵌套對象並不適用。

例如:

NSArray *array = @[@{@"firstName":@"Марк"},@{@"lastName":@"Цекурберг"}]; 
NSLog(@"array %@", array); 
=== 
array (
     { 
     firstName = "\U041c\U0430\U0440\U043a"; 
    }, 
     { 
     lastName = "\U0426\U0435\U043a\U0443\U0440\U0431\U0435\U0440\U0433"; 
    } 
) 

我想這一點:

array (
     { 
     firstName = "Марк"; 
    }, 
     { 
     lastName = "Цукерберг"; 
    } 
) 

我寫了自己的劇本,這需要description字符串對象和替換所有爲\ uXXXX(和%XX%XX )來表達符號,但我認爲這不是最好的方式。

+0

檢查此http:// stackoverflow.com/a/32986318 – Shubhank

+0

謝謝,我試過了,但它對我不起作用。 – Igor

回答

0

這是我的目標C腳本(NSObject的擴展名),那這樣做:
https://github.com/iOS-altima/dumpObject

標準方式:

NSArray *array = @[@{@"firstName":@"Марк%20%F0%9F%98%9C"},@{@"lastName":@"Цекурберг"}]; 
NSLog(@"array %@", array); 
=== result === 
array (
     { 
     firstName = "\U041c\U0430\U0440\U043a%20%F0%9F%98%9C"; 
    }, 
     { 
     lastName = "\U0426\U0435\U043a\U0443\U0440\U0431\U0435\U0440\U0433"; 
    } 
) 

dumpObject方式:

NSArray *array = @[@{@"firstName":@"Марк%20%F0%9F%98%9C"},@{@"lastName":@"Цекурберг"}]; 
[self dumpObject:array]; 
=== result === 
array (
     { 
     firstName = "Марк "; 
    }, 
     { 
     lastName = "Цукерберг"; 
    } 
) 
相關問題