Xcodeの画像、色リテラルを使う
画像、色リテラルとは
名前の通り画像や色をリテラルとして扱えるようにしたもの。Xocde8からの機能だが使っておらず、最近使い始めたので紹介する。
画像リテラル
アセットに登録した画像名をタイプすると、その画像をプレビューしたリテラルが補完に出てくる。これを選択することで画像リテラルとして使えるようになる。
メリット
- コード上から使う画像を確認することができる。今までだと以下のようなコードで画像名を指定するだけだったので、当然画像をコード上から確認できなかった。また、画像名のタイポも防ぐことができる。
let image = UIImage(named: "MyLogo")
デメリット
- 画像によってはリテラルとして見えにくい。画像の色合いやサイズがあるので、これはしかたない。
色リテラル
色リテラルもColor
までタイプすると補完で出てくるのでそれを選択する。
それからそのリテラルをダブルクリックで展開し、色を指定する。
メリット
- こちらも同様だがコード上から使う色を確認することができる。また、下のようなコードに比べればタイプ数が減る。
view.backgroundColor = UIColor(red: redColor, green: greenColor, blue: blueColor, alpha: 1.0)
デメリット
- 個人的にはないと思う。
まとめ
最近ではリソースマネージャーライブラリとしてはR.swiftが優秀で使っているが、色や画像に関してはリテラルを使ったほうが良いと感じた。個人的にはもちろんStoryboardから設定できるのであれば設定した方がコード数も減って良いと思う。
おまけ
もちろんこのリテラル機能はXcode独自のものであり、他のエディタからこのようには見えない。例えば、一番最初の画像にあるコードはこのような感じで記述されている。
view.backgroundColor = #colorLiteral(red: 0.1450980392, green: 0.5490196078, blue: 0.6980392157, alpha: 1) logoImageView.image = #imageLiteral(resourceName: "MyLogo")