Swift 1.2でtouchesBeganメソッドのNSSetがSetへ変更されました

公開日: : 最終更新日:2016/02/10 iPhoneアプリ開発

20150802-085831.jpg

Swift 1.2で、touchesBegan・touchesMoved・touchesCancelled・touchesEndedなどのメソッドが変更となりました。

Swift 1.2でSetが使えるようになったためです。

    

スポンサード リンク

Swift 1.1までのtouchesBeganメソッド

Swift 1.1までのtouchesBegan・touchesMoved・touchesCancelled・touchesEndedメソッドは、以下のようになっていました。

override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
}

override func touchesMoved(touches: NSSet, withEvent event: UIEvent) {
}

override func touchesCancelled(touches: NSSet, withEvent event: UIEvent!) {
}

override func touchesEnded(touches: NSSet, withEvent event: UIEvent) {
}

    

Swift 1.2のtouchesBeganメソッド

Swift 1.2では以下のように、touchesのデータ型がNSSetからSet<Object>へ変更となっています。

override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {
}

override func touchesMoved(touches: Set<NSObject>, withEvent event: UIEvent) {
}

override func touchesCancelled(touches: Set<NSObject>!, withEvent event: UIEvent!) {
}

override func touchesEnded(touches: Set<NSObject>, withEvent event: UIEvent) {
}

    

タッチ座標の取得方法

Swift 1.1では、例えば以下の様なコードでタッチ座標を取得します。

if let touch = touches.anyObject() as? UITouch {
    // do something
}

    

Swift 1.2では、例えば以下の様なコードでタッチ座標を取得します。

if let touch = touches.first as? UITouch {
    // do something
}

    

@akio0911はこう思った。

個人的には、Setなのにfirstというメソッドでデータを取得するのが違和感あります。Setには順番がないはずなので・・・。

あと、Swiftにおけるコードの書き方はどんどん変わっていきますね。Objective-CからSwiftへの移行は早めに行ったほうが、手間がかからなそうです。

    

    

この記事が気に入ったら「いいね!」しよう

follow us in feedly

Feedlyで最新記事を購読

Twitterで更新情報をゲット!

LINEでご感想・ご要望お送りください!
(スマホでLINEを起動 > 友だち追加 > QRコード)

関連記事

I20160122-095132.jpg

Swift 2のドキュメントコメントの書き方(JavaDoc的なやつ)

コード補完時やoptionクリック時などに説明が出てくるようにする「ドキュメントコメント(J

記事を読む

20140724-103334.jpg

iPhoneアプリ開発にオススメの本10選(2014年7月版)

@akio0911です。2013年12月に「レベル・目的別!iPhoneアプリ開発おすすめ本

記事を読む

I20150907-185322.jpg

uGUIの使い方が分かる本「uGUIではじめるUnity UIデザインの教科書」

株式会社マイナビ様より献本御礼。 本書は、公式のUIフレームワーク「Unity UI(uGUI

記事を読む

iPhoneゲームを簡単に開発したいならこの本がオススメ!「Sprite Kit iPhone 2Dゲームプログラミング」

iPhoneゲームアプリを簡単に開発したいなら「Sprite Kit iPhone 2Dゲームプ

記事を読む

I20160409-211651.jpg

Xcode 7.3の新機能についてまとめてみた

2016年3月22日にXcode 7.3がリリースされましたが、自分が知らない機能があるかもしれ

記事を読む

I20160119-155700.jpg

Xcodeで80文字目のところにガイドラインを表示する方法

Xcodeで80文字目のところに線(ガイドライン)を表示する方法について解説します! 「ソース

記事を読む

20160508-170745.jpg

SwiftTaskで失敗したタスクによって異なるエラー処理を行う方法

SwiftTaskで複数のタスクを.successでチェーンさせ、失敗したタスクによって

記事を読む

I20150724-135442.jpg

iPhoneのホーム1画面目に置いているオススメなアプリ38本(2015年9月版)

2014年7月に「iPhoneアプリ開発にオススメの本10選(2014年7月版)」という記事

記事を読む

20141225-223049.jpg

【Xcode6】Auto Layoutで制約のFirst ItemとSecond Itemを逆にする方法

一度追加した制約のFirst ItemとSecond Itemを入れ替える方法について紹介します

記事を読む

20150116-114410.jpg

プログラミング未経験者がSwiftの文法を学ぶのにオススメな本!「たのしいSwiftプログラミング」

楽しみにしていたSwiftの入門書「たのしいSwiftプログラミング」を読み終わったので、レビュ

記事を読む

【Mac】macOSのメール(Mail.app)でGmailをサクサク快適に使う方法

macOSに搭載されているメールアプリ、いわゆるMail.ap

【メンズネイル】新宿区大久保のネイルサロンで紫とピンクのネイルにしてもらった

2016年11月12日、東京都新宿区大久保にあるネイルサロン「

[Xcode][Swift]ボタンなどの同時タップを禁止する

iOSで、ボタンなどの同時タップを禁止する方法を紹介します。

【HomeKit】家の照明をSiriで制御できるようにしてみた

Apple製品と家電を連携するシステム「HomeKit(ホーム

【メンズネイル】新宿区大久保のサロンでターコイズとピンクのメタルネイルにしてもらった

2016年10月22日、いつもお世話になっているネイルサロン「

→もっと見る

PAGE TOP ↑