/ / Swift priradené premenné v uzáveroch - ios, polia, xcode, swift, uzávery

Swift premenné v uzávierkach - ios, polia, xcode, swift, uzávery

Musím napísať funkciu pre trieduvymenuje pomocou poľa v triede pomocou uzávierky. Pri volaní funkcie odkiaľkoľvek, potrebujem index aktuálneho poľa dostupného pre mňa v uzávere. Viem, ako napísať funkciu, ale ako by som vytvoril index (a iné premenné), ktorý by bol k dispozícii pri volaní?

PS:

Toto by malo byť podobné tomu, ako SKNode v SpriteKit vyčíslil cez detskú funkciu s tým, že dcérsky uzol je dostupný pre predané v uzávierke.

odpovede:

1 pre odpoveď č. 1

Nie som si istý, čo sa snažíte dosiahnuť.

Možno takto?

class MyClass {
var ary:[String] = ["foo","bar","baz"]

func enumerateArray(block: (String, Int, inout Bool) -> Void) {
var stop = false
for e in enumerate(ary) {
block(e.element, e.index, &stop)
if stop {
break
}
}
}
}


let obj = MyClass()

obj.enumerateArray { str, idx, stop in
println("(idx): (str)")
if str == "bar" {
stop = true
}
}

výstupy:

0: foo
1: bar