IOS 解決iOS列印nsdictionary和nsarray是編碼的問題
將下面這四個檔案匯入專案就OK了,建立檔案的時候可以讓這兩個檔案的父類是NSARRY和NSDICTORNARY,然後在這兩個檔案裡把原來的都刪除,直接複製下面的程式碼替換就OK了,
//
// NSArray+decription.h
// TimeShare
//
// Created by otcqiku on 16/9/2.
// Copyright © 2016年 Leo. All rights reserved.
//
//解決打印出來的是編碼不是文字問題
#import <Foundation/Foundation.h>
@interface NSArray(description)
@end
//
// NSArray+decription.m
// TimeShare
//
// Created by otcqiku on 16/9/2.
// Copyright © 2016年 Leo. All rights reserved.
//
#import "NSArray+decription.h"
@implementation NSArray(decription)
- (NSString *)descriptionWithLocale:(id)locale
{
NSMutableString *str = [NSMutableStringstringWithFormat
for (id objinself) {
if ([objisKindOfClass:[NSDictionaryclass]] || [obj isKindOfClass:[NSArrayclass]]) {
[str appendFormat:@"%@,\n", obj];
}else{
[str appendFormat:@"\"%@\",\n", obj];
}
}
[str appendString:@"]"];
return str;
}
@end
//
// NSDictionary+decription.h
// TimeShare
//
// Created by otcqiku on 16/9/2.
// Copyright © 2016年 Leo. All rights reserved.
//
//解決打印出來的是編碼不是文字問題
#import <Foundation/Foundation.h>
@interface NSDictionary(decription)
@end
//
// NSDictionary+decription.m
// TimeShare
//
// Created by otcqiku on 16/9/2.
// Copyright © 2016年 Leo. All rights reserved.
//
#import "NSDictionary+decription.h"
@implementation NSDictionary(decription)
- (NSString *)descriptionWithLocale:(id)locale
{
NSArray *allKeys = [selfallKeys];
NSMutableString *str = [[NSMutableStringalloc] initWithFormat:@"{\n "];
for (NSString *keyin allKeys) {
id value=self[key];
if ([valueisKindOfClass:[NSDictionaryclass]] || [value isKindOfClass:[NSArrayclass]]) {
[str appendFormat:@"\"%@\" : %@,\n",key, value];
}else{
[str appendFormat:@"\"%@\" : \"%@\",\n",key, value];
}
}
[str appendString:@"}"];
return str;
}
@end