思い立ったが吉日!

iOSが好きです。

Swiftでのfor文

Swiftでのfor文

swift2.2から

for var i = 0; i < 10 i++ {
}

的な書き方がdepricateになってますね。

慣れ親しんだこの書き方ともオサラバなのは寂しいですが

せっかくの機会なので代替の書き方をまとめておこうと思います。

let array: Array = ["a","b","c","d","e"]

一番簡単なのが

for var str in array {

}

indexとりたいなら

var index = 0
for var str in array {
    index += 1
}

enumurateを使って書くと

for (index, value) in array.enumerate() {
    print("\(index)") // indexが取れる
    print("\(value)") // 値が取れる
}

↑のほうがスマート。

Objective C のenumerateObjectsUsingBlockに当たる奴ですね。

ついでに復習。

[array enumerateObjectsUsingBlock:^(NSString *obj, NSUInteger idx, BOOL *stop) {
    NSLog(@"%d: %@", idx, obj);
}];