Swiftで遊ぼう! - 650 - longPressed()はカスタムメソッド
- Swiftで遊ぼう!の前書き-> Life-LOG OtherSide
- Swift2.1 & Xcode7.1対応の日本語版アップルチュートリアル!
- Table View実装チュートリアルをXcode7.3で解説
- Core Data シンプルチュートリアル
- 私の本業、オフィシャルなブログ-> Life-LOG
次のTable Viewのチュートリアルを拡張しています。
UILongPressGestureRecognizerをsimpleTableViewに実装させたので、action:で指定しているカスタムメソッド、「longPressed()」をViewControllerコード内に加えます。
func longPressed(gesture: UIGestureRecognizer) { // ここに重要なコードが加わっていきます。 }
まずこのメソッドがどういう時に呼ばれるかコンソールで確認したいので、次のコードを加えます。
print("This method's just called.")
そして私が読んでいるチュートリアルでは次のようにコードが続いていました。
func longPressed(gesture: UIGestureRecognizer) { print("This method's just called.") let longPress = gesture as! UILongPressGestureRecognizer let state = longPress.state ...
このメソッドの引数はUILongPressGestureRecognizerの上位クラスUIGestureRecognizerになっているので、使用時にダウンキャストするステップが必要になります。
しかし、どうしてこんな手間をかけるのでしょうか?
少し考えてみると次のようにコードしたらスッキリすると思います。
func longPressed(longPress: UILongPressGestureRecognizer) { print("This method's just called.") let state = longPress.state ...
プログラマーの皆さんは、私には計り知れない知識の元でコーディングしているので理由が分かりません。教えて頂けないでしょうかm(_ _)m
今日はここまで。