面白きことは良きことなり

拙く未熟なiOSエンジニアの備忘録と戯言

CGFloatを使う時の注意点

Objective-CやSwiftを使ってiOSアプリを開発する時、小数点使用する型は8割CGFloatを使う。
このCGFloatを使う時に

Use of undeclared type 'CGFloat': did you mean to use 'CGFloat'?

というエラーが出たことがあった。
解決方法は単純に、UIKitをimportするだけなのだが、Foundationだけimportしただけじゃ使えないことが意外だったので記事にした。

ついでにCGFloatでよく言われる別の注意点は、
32bit端末と64bit端末で型が変わるってことだろうか。
(CGFloatという型は厳密には存在せず、端末の扱えるbit数によって振る舞いを変えるマクロのようなものという認識)

32bit端末では、CGFloatはFloat型になる

64bit端末では、CGFloatはDouble型になる

余談でさらに言えば、NSIntegerも32bitと64bitで振る舞いが変わる。
32bit端末はかなり少なくっているから気にしなくてもいい気もするが(該当するのはiPhone5以前の端末あたりだと思う)