Swiftで遊ぼう! - 668 - Course Overview and Introduction to iOS, Xcode, and Swift 4
- Swiftで遊ぼう!の前書き-> Life-LOG OtherSide
- Swift2.1 & Xcode7.1対応の日本語版アップルチュートリアル!
- Table View実装チュートリアルをXcode7.3で解説
- Core Data シンプルチュートリアル
- 私の本業、オフィシャルなブログ-> Life-LOG
ポール先生の講義1最後5分の内容をまとめます。
Developing iOS 9 Apps with Swift - Free Course by Stanford on iTunes U
関数ボタンを設置するのですが、問題が生じることを前提に「7」ボタンをコピペして左隣に置きます。ボタン名をダブルクリックして「7」を「π(Opt + P)」パイに変更します。新しいメソッド「performOperation」を作るために「π」ボタンをコード内に「Ctrl + ドラッグ」してTypeを必ず「UIButton」に変更してメソッドを繋ぎます。
詳しい説明はしませんがメソッドは最初こんな風になリました。
@IBAction func performOperation(sender: UIButton) { if let mathematicalSymbol = sender.currentTitle { if mathematicalSymbol == "π" { display.text = String(M_PI) } } }
ここのコードの中でポイントは「String()」です。2年前のポール先生のiOS8の講義を聴いていた頃は「M_PI」も何の事か分かってなかったですけどね(^^;)。
まずポール先生は「display.text = M_PI」とコードしてエラーをわざと出してDouble型をString型に変換するために「String()」を使っているのですが、これは変換関数ではなくイニシャライザーという説明をしています。Double型の引数を受け取ってString型を生成しているんです。
ここでランすると数字の後半が「...」になって全部表示されません。これを修正するためにラベルのアトリビュートから「Autoshrink」の設定を変更します。
これでランすると問題が2つあることが分かりました。「π」という表示とその後にタイプが続いてしまいます。
「π」が表示されるのは、最初にボタンを作成するときに「7」ボタンをコピペしたため、メソッド「touchDigit」も繋がっているからです。touchDigitの●にカーソルを合わせると繋がっていることが分かります。
「π」ボタンのコネクションを確認する方法もここで説明しています。ボタン上で「右クリック」するとコネクションリストが表示されるので、ここでtouchDigitを消します。
タイピングが続いていしまう問題の対処は簡単です。userIsInTheMiddleOfTypingを設定してやればいいんです。
@IBAction func performOperation(sender: UIButton) { userIsInTheMiddleOfTyping = false if let mathematicalSymbol = sender.currentTitle { if mathematicalSymbol == "π" { display.text = String(M_PI) } } }
これでランをするとすべて問題が解決しました。
ラスト5分の駆け足で関数ボタンを設置しました。これで講義1の内容が終了です。明日からは講義2に入りますが、この講義2の内容が盛りだくさんでかなり勉強になります。
今日はここまで。