UIViewやUIImageなどを扱う時、よくCGRectやCGSizeをLogに書きだしたりしたくなることがあります。
そんなとき、毎回
[objc]
NSLog(@"rect : %f %f %f %f",rect.origin.x,rect.origin.y,rect.size.width,rect.size.height);
[/objc]
と書くのはかなり手間です。
文字が長いので、書くだけで気合いを使い果たしてしまいそうです。

マクロで定義しちゃえば簡単に書けるようにはなりますが、あまりマクロに詳しくない人もいると思います。
そこで、Appleが準備しているほうのマクロを紹介しようと思います


■NSStringFromXXXマクロ

NSStringにはNSStringFromXXXといったタイプのマクロがあります。
これらを使うと、
[objc]
NSLog(@"rect : %@", NSStringFromCGRect(rect));
[/objc]
と書けるようになります。

前と比べれば書く量が半分以下ですし、補完で一発なのでだいぶ楽になると思います。

NSStringFromXXXのマクロは次の9種類があります

  • NSStringFromCGAffineTransform
  • NSStringFromCGPoint
  • NSStringFromCGRect
  • NSStringFromCGSize
  • NSStringFromClass
  • NSStringFromProtocol
  • NSStringFromRange
  • NSStringFromSelector
  • NSStringFromUIEdgeInsets

ちなみにこれらのNSStringFromXXXでNSStringに変換したものはXXXFromStringで逆変換ができます。

ちょっとしたことですが、使用頻度が高いと思いますのでぜひ使ってみてください。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>