zoukankan      html  css  js  c++  java
  • 打印可读字典及数组

    @implementation NSArray (Log)
    - (NSString *)descriptionWithLocale:(id)locale indent:(NSUInteger)level
    {
        NSMutableString *mStr = [NSMutableString string];
        NSMutableString *tab = [NSMutableString stringWithString:@""];
        for (int i = 0; i < level; i++) {
            [tab appendString:@"	"];
        }
        [mStr appendString:@"(
    "];
        for (int i = 0; i < self.count; i++) {
            NSString *lastSymbol = (self.count == i + 1) ? @"":@",";
            id value = self[i];
            if ([value respondsToSelector:@selector(descriptionWithLocale:indent:)]) {
                [mStr appendFormat:@"	%@%@%@
    ",tab,[value descriptionWithLocale:locale indent:level + 1],lastSymbol];
            } else {
                [mStr appendFormat:@"	%@%@%@
    ",tab,value,lastSymbol];
            }
        }
        [mStr appendFormat:@"%@)",tab];
        return mStr;
    }
    @end
    
    
    
    
    @implementation NSDictionary (Log)
    - (NSString *)descriptionWithLocale:(id)locale indent:(NSUInteger)level
    {
        NSMutableString *mStr = [NSMutableString string];
        NSMutableString *tab = [NSMutableString stringWithString:@""];
        for (int i = 0; i < level; i++) {
            [tab appendString:@"	"];
        }
        [mStr appendString:@"{
    "];
        NSArray *allKey = self.allKeys;
        for (int i = 0; i < allKey.count; i++) {
            id value = self[allKey[i]];
            NSString *lastSymbol = (allKey.count == i + 1) ? @"":@";";
            if ([value respondsToSelector:@selector(descriptionWithLocale:indent:)]) {
                [mStr appendFormat:@"	%@%@ = %@%@
    ",tab,allKey[i],[value descriptionWithLocale:locale indent:level + 1],lastSymbol];
            } else {
                [mStr appendFormat:@"	%@%@ = %@%@
    ",tab,allKey[i],value,lastSymbol];
            }
        }
        [mStr appendFormat:@"%@}",tab];
        return mStr;
    }
    @end
  • 相关阅读:
    删除使用RMAN命令备份的文件
    查看.Net Framework版本的方法(zz)
    c# Foreach last (zz)
    Visual Studio 2008 QFE (zz)
    打印机的接口
    牛人的PENTAX单反之路
    我新进的宾得K10D机器和镜头
    买车险要有足额第三者责任险
    谈谈P家的SUPERTAKUAMR
    硬盘接口总结
  • 原文地址:https://www.cnblogs.com/PhenixWang/p/7093700.html
Copyright © 2011-2022 走看看