Swiftで遊ぼう! - 669 - Applying MVC
- Swiftで遊ぼう!の前書き-> Life-LOG OtherSide
- Swift2.1 & Xcode7.1対応の日本語版アップルチュートリアル!
- Table View実装チュートリアルをXcode7.3で解説
- Core Data シンプルチュートリアル
- 私の本業、オフィシャルなブログ-> Life-LOG
ポール先生の講義はやっと2週目に入ります。
Developing iOS 9 Apps with Swift - Free Course by Stanford on iTunes U
前半はMVCの解説があります。MVCはOOPの基本中の基本! 分かっていなかったら必ずオブジェクト指向でなぜつくるのか 第2版を読んでから講義を聴きましょう。この本はマストリードです。2年独学で勉強していると概念は問題無く理解できました。
早速Calculatorデモを続けていきます。
講義2はかなり情報量の多い内容になっています。Swiftの構文を朽ちしてコーディングするためSwift初心者がいきなり取り組むと挫折すると思います。アップルから公開されている正本The Swift Programming Language*1の「A Swift Tour」ぐらいはこなしているといいですね。
講義1で「π」ボタンを作りました。今日から様々な関数ボタンを実装していくのですが、その前にコードの可読性を向上させるため(Swiftの構文に馴れる必要もあるので)のSwift構文の解説があります。「performOperation」メソッド内で使っている「display.text = String(M_PI)」に注目しました。
Calculatorデモはその名の通り計算機アプリです。数字をDouble型で演算させますが、ラベル表示はString型です。String型からDouble型、Double型からString型へ何度も処理させる必要があるので、このままではコードの可読性が損なわれてしまいます。それを解決する方法として計算型プロパティ(Computed Property)を使ってすっきりさせます。
もし計算型プロパティが分からなければ、まだこのチュートリアルに取り組むのは時期尚早です。正本The Swift Programming Languageを読みましょう。
ここで計算型プロパティとして「var displayValue: Double」を用意します。実は2年前のポール先生のiOS8講座の時のコードと比較するとSwiftの進化を実感できます。初心者にも解りやすいコードが書けるようになっています。
var displayValue: Double { get { return Double(display.text!)! } set { display.text = String(newValue) } }
この計算型プロパティを用意することで次のメソッド
@IBAction func performOperation(sender: UIButton) { userIsInTheMiddleOfTyping = false if let mathematicalSymbol = sender.currentTitle { if mathematicalSymbol == "π" { display.text = String(M_PI) } } }
次のようになります。
@IBAction func performOperation(sender: UIButton) { userIsInTheMiddleOfTyping = false if let mathematicalSymbol = sender.currentTitle { if mathematicalSymbol == "π" { displayValue = M_PI } } }
かなり可読性が向上しました。
今日はここまで。
*1:日本語版も公開されているので随分と取り組みやすくなってますね→Swiftで遊ぼう! - 634 - The Swift Programming Language日本語版 - Swiftで遊ぼう! on Hatena