我有一些实体为我的程序保存值。 例如一个“人”实体综合了“姓名”,“年龄”,“地址”等值的属性。在Objective C类中构建“printMe”方法?
我希望在实体上构建一个“printMe”方法,以便调用此方法导致上述属性被打印到控制台,如“\ nPropertyName:Value”。
我以前用这样的核心数据实体的做到了这一点:
- (void) printMe {
NSEntityDescription *entity = [NSEntityDescription entityForName:@"NewAirline" inManagedObjectContext:[self managedObjectContext]];
for (NSString *attr in [entity attributesByName]) {
//[object setValue:@"n/a" forKey:attr];
NSLog(@"%@:%@", attr, [self valueForKey:attr]);
}
NSLog(@"*************** end ***************\n");
}
实体我已经在这种情况下,没有核心数据,我不能使用attributesByName
。但它应该仍然是键值兼容的,所以我想有一种解决方法。
我的实体拥有20多个属性,我希望避免通过列出每个属性并在NSLog中按名称调用它。
在此先感谢您提供的任何帮助:)
您可能会考虑提供' - (NSString)描述';'方法,并避免把NSLog的东西放在你的对象中。 – 2010-09-05 11:30:56
谢谢弗兰克:)这是一个非常好的主意,它当然是一些穴居人调试,并测试对象正确处理我注入到Web服务数据的对象。我永远不需要对象内的数据,它始终是NSLog([myObject description]);从拥有该对象数组的父对象。我真的不喜欢在我的对象中“乱抛垃圾”,这种方法与Objective-C的方式是一致的。 – RickiG 2010-09-05 13:55:21