CGRectやCGSizeなどを手軽にLogに出力する方法

2011/9/1 iPhone

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で逆変換ができます。 ちょっとしたことですが、使用頻度が高いと思いますのでぜひ使ってみてください。

img_show