代码之家  ›  专栏  ›  技术社区  ›  Casebash

用Xcode很好地打印字典

  •  1
  • Casebash  · 技术社区  · 15 年前

    在调试期间,有没有一种方法可以在Xcode中很好地打印字典?选择打印描述到控制台是丑陋的。

    2 回复  |  直到 14 年前
        1
  •  1
  •   bearMountain    14 年前

    您应该在nsdictionary上使用一个类别并重写 - (NSString *)description .

    (这样,它可以自动应用于所有现有的nsdictionary)

    下面是一个格式示例,但您可以将其更改为您想要的任何格式。

    //  NSDictionary+NicePrint.h 
    #import <Foundation/Foundation.h>
    @interface NSDictionary (NicePrint)
    @end
    
    //  NSDictionary+NicePrint.m
    #import "NSDictionary+NicePrint.h"
    @implementation NSDictionary (NicePrint)
    
    - (NSString *)description
    {
        NSMutableString *output = [[NSMutableString alloc] init];
        [self enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
            [output appendFormat:@"%@ => %@\n", key, obj];
        }];
    
        return [NSString stringWithString:output];
    }
    
    @end
    
        2
  •  0
  •   fogelbaby    15 年前

    您可以将nsdictionary子类化,并重写nsObject的-(nsString*)描述函数。

    花5分钟。