0
我需要爲使用閉包通過類中的數組枚舉的類編寫函數。當從別處調用函數時,我需要在閉包中爲我提供當前數組的索引。我知道如何編寫函數,但是如何在調用時使索引(和其他變量)可用?關閉中的Swift傳入變量
P.S.
這應該類似於SpriteKit中的SKNode如何通過子節點枚舉來枚舉傳遞的閉包中可用的子節點。
我需要爲使用閉包通過類中的數組枚舉的類編寫函數。當從別處調用函數時,我需要在閉包中爲我提供當前數組的索引。我知道如何編寫函數,但是如何在調用時使索引(和其他變量)可用?關閉中的Swift傳入變量
P.S.
這應該類似於SpriteKit中的SKNode如何通過子節點枚舉來枚舉傳遞的閉包中可用的子節點。
我不知道你在努力達到什麼目的。
也許這樣嗎?
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
}
}
輸出:
0: foo
1: bar
的偉大工程!謝謝。 – 2014-12-02 15:37:14