2016-05-13 4 views
0

Derzeit bin ich es wie folgt aus:Gibt es einen kurzen Weg, um die Array-Größe zu überprüfen, bevor Sie in for-Schleife gehen?

if json.count>0{ 
    for i in 0...json.count-1{ 

    } 
} 

Gibt es eine bessere und kürzere Weg, um sicher zu einer for-Schleife zu starten?

+1

@Bhavin es kein Betrogene dieser Frage ist. – JeremyP

+0

Warum müssen Sie die Größe überprüfen? Wenn array ist nil dann wird for loop nicht ausgeführt – Lion

+0

@Bhavin Nun, OK, die Frage ist anders, aber die Antwort ist die gleiche. Ich würde mich nicht für die Wiederwahl entscheiden. – JeremyP

Antwort

0

Löschen Sie die Anfangsbedingung:

for i in 0..<json.count { 
    // Do something 
} 

Wenn der Bereich in der Schleife der Code unmöglich ist, nicht ausgeführt wird erhalten.

Wenn Sie nicht i innerhalb der Klammern verwenden, können Sie es durch _ ersetzen.

+0

Hmm Ich wusste nicht, dass Sie das in For-Schleife tun könnten. Ich habe immer seine 3 Punkte angenommen, egal was passiert ist. Kannst du mich auf etwas Dokumentation hinweisen, was mit den Punkten dort möglich ist? –

+1

@JacobSmith Der '.. <' ist der halboffene Bereichsoperator, während der '...' der geschlossene Bereichsoperator ist. Siehe https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/BasicOperators.html#//apple_ref/doc/uid/TP40014097-CH6-ID73 – Hamish

+0

Yup. Das war meine Art, es noch kürzer zu machen. – catalandres

2

Ihr Code-Fragment ist identisch mit

for i in 0 ..< json.count { ... } 

keine Strafe gibt es eine Schleife Nullzeiten für die Ausführung.

Noch besser

for element in json { /* do stuff with element */ } 

Oder wenn Sie Notwendigkeit der Index:

for (i, element) in json.enumerate() { } 
Verwandte Themen