最終更新:2009-09-17 (木) 05:19:02 (3981d)  

DescriptionBuilder
Top / DescriptionBuilder

http://github.com/kishikawakatsumi/DescriptionBuilder/tree/master

NSObject クラスの description メソッド?オーバーライドしておくと、NSLog で出力できたりしてデバッグ時に便利です。

ただ、出力する項目が増えてくると、結構な手間になるので、リフレクションを使って自動ですべてのインスタンス変数?を出力できるようにしてみました。

このクラスを使うと、description メソッドは次のように書けます。

- (NSString *)description {
    return [DescriptionBuilder reflectDescription:self];
}
  • サンプルのオブジェクト
@interface Settings : NSObject {
    NSUInteger version;
    BOOL autoLock;
    BOOL twentyFourHourTime;
    NSString *alarmSound;
    float alarmVolume;
}
@end
  • 出力例
<Settings: 0xd188b0; version = 100; autoLock = NO; twentyFourHourTime = YES; alarmSound = "digital-alarm"; alarmVolume = 1.000000>