我有一些實體爲我的程序保存值。 例如一個「人」實體綜合了「姓名」,「年齡」,「地址」等值的屬性。在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