使用NSLog查看信息时,如果是NSArray、NSDictionary、NSObject的对象时,无法查看到详细的信息,特别是中文时,无法正常显示,这时候需要进行特殊设置。
1、对于NSArray、NSDictionary时,需要创建分类,并重写方法- (NSString *)descriptionWithLocale:(id)locale
实现;
2、对于NSObject时,需要创建分类,重写方法- (NSString *)description
实现。
实现代码
NSArray
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface NSArray (Category)
@end
NS_ASSUME_NONNULL_END
#import "NSArray+Category.h"
@implementation NSArray (Category)
- (NSString *)descriptionWithLocale:(id)locale indent:(NSUInteger)level
{
NSMutableString *str = [NSMutableString stringWithString:@"(\n"];
[self enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
[str appendFormat:@"\t%@,\n", obj];
}];
[str appendString:@")"];
retu