Swiftで遊ぼう! - 660 - UIGestureRecognizerState.Changedの実装に進む
- Swiftで遊ぼう!の前書き-> Life-LOG OtherSide
- Swift2.1 & Xcode7.1対応の日本語版アップルチュートリアル!
- Table View実装チュートリアルをXcode7.3で解説
- Core Data シンプルチュートリアル
- 私の本業、オフィシャルなブログ-> Life-LOG
次のTable Viewのチュートリアルを拡張しています。
本当にゆっくりです。ゆっくりでも続けていればアプリができるという事を早く皆さんに見せたいですね。仕事の傍らに勉強を続けているんで焦らず頑張ります。
やっと UIGestureRecognizerState.Changedの条件を考えます。
case UIGestureRecognizerState.Changed: var center = MyCell.cellSnapshot!.center center.y = locationInView.y MyCell.cellSnapshot!.center = center if ((indexPath != nil) && (indexPath != MyCell.initialIndexPath)) { swap(&items[indexPath!.row], &items[MyCell.initialIndexPath!.row]) simpleTableView.moveRowAtIndexPath(MyCell.initialIndexPath!, toIndexPath: indexPath!) MyCell.initialIndexPath = indexPath }
このコードはチュートリアルで紹介されているコードですが...
やっぱり疑問に思う部分があります...
「var center = MyCell.cellSnapshot!.center」は必要なのでしょうか?
かなり助長に見えてしまうのですが、理由があるのでしょうか? 私なら次のようにします。
case UIGestureRecognizerState.Changed: MyCell.cellSnapshot!.center = locationInView.y if ((indexPath != nil) && (indexPath != MyCell.initialIndexPath)) { swap(&items[indexPath!.row], &items[MyCell.initialIndexPath!.row]) simpleTableView.moveRowAtIndexPath(MyCell.initialIndexPath!, toIndexPath: indexPath!) MyCell.initialIndexPath = indexPath }
ベテランプログラマーの皆さん、助言をお願いしますm(_ _)m
ちょっと短いですが今日はこれだけ。