[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
関連記事
-
-
[Objective-C] no architectures to compile for … のコンパイルエラーについて
起動したプロジェクトでコンパイルエラーが出ました。 no architectures to com
-
-
[Objective-C] 文字列操作の便利Tips
Tipsいろいろ 先日の投稿 共通関数をまとめたクラスを作ろう!の流れで、文字列を操作するときに便
-
-
[Swift] UINavigationControllerで戻るイベントを取得する
UINavigationController UINavigationControllerを使用し
-
-
NSDateを5分刻み・15分刻みで丸める
NsDateを初期値としてUIDatePicker等に設定する場合、日付の丸め処理が必要になるのでメ
-
-
[iPhone App] WorkManagerの不具合について
バージョン1.2.2の不具合 11/25日現在、iPhoneアプリの「WorkManger」バージ
-
-
[Swift] 定数クラスをつくってみる
Objective-cの場合 今回は共通にする定数をまとめるクラスを作ってみます。 まずはO
-
-
[Swift] 関数型プログラミング
関数型プログラミングについて、ストーリー仕立ての面白い記事がありましたので紹介します。 IQ1
-
-
[Swift] optional値の設定(??)
optional値がnilの時 プロジェクトでのテンプレートを選択した時にソースコードが自動生成さ
-
-
[Swift] UITableViewのセルにアクションを設定する
セル選択→アクション UITableViewControllerを使用したテーブルビューの画面があ