[Swift] Swiftでいろんなfor文まとめてみた
公開日:
:
最終更新日:2014/10/07
iPhone App 開発, Swift
いろんなfor文
プログラム作成で必ず出てくるfor文を自分なりにまとめてみました。
Swiftという言語は、色んな言語が交じった感じなので忘れないようにメモ。
基本的なfor文(数値の繰り返し)
for var i = 0; i < 5; i++ { println("\(i)") }
CやJava、Javascriptでよく見かける基本的なfor文です。
結果
0
1
2
3
4
範囲指定のfor文
for i in 1...5 { println("\(i)") }
[…]で範囲を出力します。
結果
1
2
3
4
5
範囲指定のfor文2
for i in 1..<5 { println("\(i)") }
[..<]で範囲を出力しますが、最後の数値は含みません。
結果
1
2
3
4
配列を使ったfor文
let array = ["配列1", "配列2", "配列3"] for value in array { println("\(value)") }
配列のfor文です。従来のプラグラムとあまり変わりないですね。
もちろん、array[2]のように添字で値を取得できます。array[2]の場合は”配列3″が返ってきます。
結果
配列1
配列2
配列3
Dictionary(キーと値)を使ったfor文
let dictionary = ["1":"1の値", "2":"2の値", "3":"3の値"] for (key, value) in dictionary { println("key:\(key) value:\(value)") }
キーと値を持つDictionary(JavaではMap)形式でのfor文です。
とてもシンプルにキーと値が取得できます。
結果
key:2 value:2の値
key:3 value:3の値
key:1 value:1の値
あれ!? 順番がバラバラ…
ソートしないといけないんですね。当たり前か。
そして、直したコードがこれ。
let dictionary: [String : String] = ["1":"1の値", "2":"2の値", "3":"3の値"] let sortedKeys = (dictionary as NSDictionary).keysSortedByValueUsingSelector("compare:") for key in sortedKeys as [String] { if let value = dictionary[key] { println("key:\(key) value:\(value)") } }
すごく長くなりました。全然シンプルじゃないし。
2行目でキーの文字列をソートして再格納。
3行目でソートのキーをfor文で繰り返し、key文字列を値があるかどうかチェックし、出力しています。
ちなみに4行目の値チェックをしないと値がちゃんと取得できません。Optional(値が決定していない?)だからだそうです…
結果
key:1 value:1の値
key:2 value:2の値
key:3 value:3の値
まとめ
簡単ではありますが、swiftでのfor文をまとめてみました。
特殊な点は範囲指定のfor文で、少しVBチックな手法ですね。
そして、dictionaryのfor文はかなり面倒でした。気をつけよう。。
ad
関連記事
-
-
TabBarControllerとNavigationControllerのボタン追加
TabBarとNavigationを同時に使っているViewControllerの場合、naviga
-
-
[Objective-C] no architectures to compile for … のコンパイルエラーについて
起動したプロジェクトでコンパイルエラーが出ました。 no architectures to com
-
-
[Objective-C] UINavigationControllerのセグエを使って画面遷移をする
画面遷移の実装 今回はUINavigationControllerを使って画面遷移をしたいと思いま
-
-
[Swift] CoreDataを使ってみる
SwiftでCoreData 今回はSwiftでCoreDataを使ってみます。 Xcodeプロ
-
-
[Swift] スクリーンサイズを取得する
スクリーンサイズを取得 iPhoneの幅と高さを取得する関数を紹介します。 iOS8から画面の傾
-
-
[Objective-C] バージョン更新時に変更内容をアラートで出力する
アプリの更新内容を表示したい! バージョン更新時に変更内容を表示させたいのは、ユーザーがいちいちA
-
-
[Swift] 関数型プログラミング
関数型プログラミングについて、ストーリー仕立ての面白い記事がありましたので紹介します。 IQ1
-
-
[Objective-C] 文字列操作の便利Tips
Tipsいろいろ 先日の投稿 共通関数をまとめたクラスを作ろう!の流れで、文字列を操作するときに便
-
-
App開発をはじめてみました。
はじめてみたはいいものの、右も左もわからず、書籍を読みあさり、ネットを徘徊し、いろんなことを調べ上げ
-
-
[Objective-C] 小数点を丸める!(数値変換)
小数点を含む数値 Objective-Cに限らず、小数点を含む数値を計算する場合はdoubleやf