UIViewやUIImageなどを扱う時、よくCGRectやCGSizeをLogに書きだしたりしたくなることがあります。 そんなとき、毎回
NSLog(@"rect : %f %f %f %f",rect.origin.x,rect.origin.y,rect.size.width,rect.size.height);
と書くのはかなり手間です。 文字が長いので、書くだけで気合いを使い果たしてしまいそうです。 マクロで定義しちゃえば簡単に書けるようにはなりますが、あまりマクロに詳しくない人もいると思います。 そこで、Appleが準備しているほうのマクロを紹介しようと思います
■NSStringFromXXXマクロ NSStringにはNSStringFromXXXといったタイプのマクロがあります。 これらを使うと、
NSLog(@"rect : %@", NSStringFromCGRect(rect));
と書けるようになります。 前と比べれば書く量が半分以下ですし、補完で一発なのでだいぶ楽になると思います。 NSStringFromXXXのマクロは次の9種類があります
- NSStringFromCGAffineTransform
- NSStringFromCGPoint
- NSStringFromCGRect
- NSStringFromCGSize
- NSStringFromClass
- NSStringFromProtocol
- NSStringFromRange
- NSStringFromSelector
- NSStringFromUIEdgeInsets
ちなみにこれらのNSStringFromXXXでNSStringに変換したものはXXXFromStringで逆変換ができます。 ちょっとしたことですが、使用頻度が高いと思いますのでぜひ使ってみてください。