// 创建 NSDictionary 和 NSArray 的分类 Category 并添加如下代码后NSLog文字正常显示
@interface NSDictionary (DeUTF)
@end
@implementation NSDictionary (DeUTF)
- (NSString *)descriptionWithLocale:(id)locale {
NSArray *allKeys = [self allKeys];
NSMutableString *str = [[NSMutableString alloc] initWithFormat:@"{\t\n "];
for (NSString *key in allKeys) {
id value= self[key];
[str appendFormat:@"\t \"%@\" = %@,\n",key, value];
}
[str appendString:@"}"];
return str;
}
@end
@interface NSArray (DeUTF)
@end
@implementation NSArray (DeUTF)
- (NSString *)descriptionWithLocale:(id)locale {
NSMutableString *str = [NSMutableString stringWithFormat:@"%lu (\n", (unsigned long)self.count];
for (id obj in self) {
[str appendFormat:@"\t%@, \n", obj];
}
[str appendString:@")"];
return str;
}
@end
本文介绍了一个Objective-C中使用类别(Category)来扩展NSDictionary和NSArray类的方法。通过增加自定义的descriptionWithLocale方法,可以更友好地展示这些集合类型的内容。

4343

被折叠的 条评论
为什么被折叠?



