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
  • 相关阅读:
    Xamarin.Forms项目无法添加服务引用
    Xamarin Android长度单位区别
    21IC菜农研究的HotWC3超级CRC运算器
    Delphi天气预报查询
    超外差接收机工作原理?
    ARM汇编指令的特点和速查表
    序列号的设计,不重复的实现一机一码
    iOS第一个简单APP
    GetEnvironmentVariable 获取常用系统变量(转)
    Delphi版的Base64转换函数(修改版)
  • 原文地址:https://www.cnblogs.com/PhenixWang/p/7093700.html
Copyright © 2011-2022 走看看