NSLogでの%@で表示されるものを変更する


objective-cではログの出力時に、%@を使う事ができます。

これ、実はNSObjectのメソッドにより表示される物が決定されます。

-(NSString*)description
{
    return [NSString stringWithFormat:@"%ld/%ld",self.numerator,self.denominator];
}

このように、

-(NSString*)description

メソッドをオーバーライドしてやる事で%@での表示を変更する事ができます。

上のコードは、自作の分数クラスで実際に使用している物です。
分子と分母を 分子/分母 の形で表示するようにしています。

NSLog上に記述する時は、引数にはインスタンスの名前のみを記述してやればokです。

結構簡単なハックですが、意外と便利なので覚えておくと良いかと思います。