読者です 読者をやめる 読者になる 読者になる

Swift,Objective-Cプログラミング ~ iOS ~

Objective-C,Swift,Apple Watchなどのプログラミング

【iOS Swift入門 #244】ファイル名の文字列指定の手間を省くライブラリ(R.Swift)

Swift

UIImageで画像を読み込むとき、XIBファイルを読み込むとき、
Segue(セグエ)のIdentifierを指定するとき、
ハードコーディングで文字列指定していませんか?

例えば、↓のような感じ。
・XIB読み込み

let nib = UINib(nibName: "OnePartsView", bundle: nil).instantiateWithOwner(self, options: nil).first as? UIView


・画像読み込み

let imageView = UIImageView(image: UIImage(named: "green")!)


・セグエのid指定

performSegueWithIdentifier("showDetail", sender: nil)


これらの場合、コーディングしていて文字列に間違いがあってもエラーにならないので、
リソースが読み込めなかったり、最悪、実行時にアプリが落ちますね。

そこで使えるのが、R.swiftというライブラリ。
これを使うと、XIBや画像のファイル名、セグエのidなどを
定数で呼び出すことができる。
定数なので、コードアシスタントも働くし、
間違えて入力するとエラーを出してくれる。

R.swiftを使った場合、上記の例は↓のようになる。
・XIB読み込み

let nib = R.nib.onePartsView.firstView(self, options: nil)


・画像読み込み

let imageView = UIImageView(image: R.image.green!)


・セグエのid指定

performSegueWithIdentifier(R.segue.showDetail, sender: nil)


なぜ、こんなことができるかというと、
R.Swiftがビルド時にスクリプトを実行し、ファイルやセグエのidを洗い出し、
ファイルを作成している。

これで文字列指定をしなくてよくなる。
定数をまとめたファイルを自分で作成しておく必要もなくなる。

R.swiftgithubからダウンロード、
cocoapods(pod "R.swift")での取得などが可能だ。

【参考情報】
iOSアプリ開発未経験の人向け
iOSアプリ開発をはじめたとき最初に買った書籍
【アプリ作成未経験の人向け】
Storyboardを使って画面を作成していく。
手順にしたがって操作していくと、ボタンの作成やWebViewの作成などができる。
アプリって、こんな感じで作るんだというのを体験できる。

Swiftではじめる iPhoneアプリ開発の教科書 【iOS 8&Xcode 6対応】

Swiftではじめる iPhoneアプリ開発の教科書 【iOS 8&Xcode 6対応】


・わかりやすくていい、と聞いた本
立ち読みした感じだと【アプリ作成未経験の人向け】

絶対に挫折しない iPhoneアプリ開発「超」入門【Swift & iOS8.1以降 完全対応】

絶対に挫折しない iPhoneアプリ開発「超」入門【Swift & iOS8.1以降 完全対応】


②を終えたくらいの知識の方向け
・アプリ開発独学中に2冊めに購入した書籍
プログラミング知識はなくても、若干理解するのに時間がかかる程度で、
読み進められるわかりやすさがある。

iPhoneアプリ開発塾

iPhoneアプリ開発塾


③中級者、上級者向け

詳解 Swift

詳解 Swift