打印一个对象:NSLog(@"%@", stu); 默认情况下打印的时对象的名字和内存地址;这时需要重写description方法
// 重写description方法
- (NSString *)description
{
return [NSString stringWithFormat:@"title:%@,icon:%@,answer:%@,options:%@", self.title, self.icon, self.answer, self.options ];
}
// 其中最后一个options是一个数组,其他的可以正常打印,只有数组不能打印中,这时需要给NSArray扩充一个类,重写:descriptionWithLocale方法
在NSArray的分类 NSArray + log中重写方法:descriptionWithLocale
- (NSString *)descriptionWithLocale:(id)locale
{
NSMutableString *strM = [NSMutableString string];
[strM appendString:@"(\n"];for (id obj in self) {
[strM appendFormat:@"\t%@,\n", obj];
}
[strM appendString:@")"];return strM;
}
这样可以打印中文了,一般是在从plist文件中读取到了一些属性,其中的某个属性是数组,编程时要看看数组是否取到了,就可以通过上述的打印办法;
时间: 2025-01-13 00:27:36