コンソール ログに自分の辞書のオブジェクト クラスを表示したいです。標準のサブクラスについては、カテゴリNSObject
でオーバーライドします。-(NSString*) description
-(NSString*) description
{
NSMutableString* desc = [NSMutableString stringWithFormat: @"<%@ 0x%08x>\nobjects count: %ld", [self class], (uint)self, [self count]];
for (id key in [self allKeys])
[desc appendFormat: @"\n%@ = %@ (%@)", key, [self objectForKey: key], [[self objectForKey: key] class]];
return desc;
}
これは機能しますが、最上位NSDictionary
オブジェクトに対してのみです (オブジェクトの子に辞書がある場合、それらはdescription
メソッドをバイパスしてログに記録されます)。NSDictionary
そのため、子オブジェクトを呼び出さずに何らかの方法で出力description
します...
私のdescription
方法でこれらの子辞書をログに記録する方法はありますか?
PS:実際には、辞書に保存できないオブジェクトを見つけたいと思っていますplist
。たぶん別の解決策があるかもしれませんが、それもありがたいです。