2017-02-13 13 views
0

Swiftのforループの宣言で特定の値またはオブジェクトを直接除外できますか?私はインデックスをループするこのようなことをしようとしていますが、同じ行にsomeIndexをフィルタリングしたいと思います。Swift 3 Forループの項目を除外

func updateTabsEnabled(isShowing: Bool) { 
    for index in 0..<viewControllers!.count, index != someIndex { 
     tabBar.items![index].isEnabled = !isShowing 
    } 
} 

私は覚えていないこととdocumentationが、私はそれを見逃しているかもしれないが、そこにそれを持っていないようでしたが、これは、スウィフト3で可能だと思いました。

+0

を追加する必要があります。 – Alexander

+0

@Alexander [半開きの範囲](https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/BasicOperators.html#//apple_ref/doc/uid/TP40014097-CH6-ID60) Appleのdocsのここの例はarray.countを使用していますか? – Alex

+0

Appleの入門Swift素材は、コードスタイルのアービタではありません。誤って '0 ... array.count'と入力したことに関連して、私はこのサイトに出てきた**無数の**の質問があります。 'array.indices'を使わない理由はありません。 – Alexander

答えて

2

あなたはwhereキーワードを使用して、あなたは `0 ..

func updateTabsEnabled(isShowing: Bool) { 
    for index in 0..<viewControllers!.count where index != someIndex { 
     tabBar.items![index].isEnabled = !isShowing 
    } 
} 
+0

ああ、素晴らしい!私は 'where'の代わりに'どこで '行っていました - ありがとうございます。 – Alex

関連する問題