NSLog 打印数组 中文转码问题

network | | 访问(58)
for (Question *obj in self.questions) {
  NSLog(@"%@", obj);// 打印数组内的对象,会出现中文被转码的情况
}

// 注意:直接NSLog对象只会输出指针字符串 不会输出里面的内容,需要重写 description 方法
// 在 Question.m 文件中写入下面的方法 

// 对象描述方法,类似于java中的toString(),便于跟踪调试的
// 建议:如果是自定义的模型,最好编写description方法,可以方便调试
- (NSString *)description
{
    return [NSString stringWithFormat:@"<%@: %p> {answer: %@, icon: %@, title: %@, options: %@}", self.class, self, self.answer, self.icon, self.title, self.options];
}

将下面的文件拷贝到项目里即可。

NSArray+Log.h文件

#import <Foundation/Foundation.h>

@interface NSArray (Log)

@end

NSArray+Log.m文件

#import "NSArray+Log.h"

@implementation NSArray (Log)

- (NSString *)descriptionWithLocale:(id)locale
{
    NSMutableString *strM = [NSMutableString stringWithString:@"(\n"];
    
    for (id obj in self) {
        [strM appendFormat:@"\t%@,\n", obj];
    }
    
    [strM appendString:@")\n"];
    
    return strM;
}

@end