我想知道在Swift中是否有数组迭代器,就像CPP一样,可以避免使用“位置”来访问数组的下一个元素。
实际上,我使用“position + 1”来访问数组的下一个元素:
有什么建议吗?
实际上,我使用“position + 1”来访问数组的下一个元素:
var array = ["a", "b", "c", "d"]
func arrayToString(success : String -> Void)
{
var str = String()
var myFunc : (Int -> Void)!
myFunc = {
if $0 < array.count
{
str += array[$0]
myFunc($0 + 1)
}
else
{
success(str)
}
}
myFunc(0)
}
arrayToString({
println($0)
})
I'm looking for a solution usable like this:
var array = ["a", "b", "c", "d"]
func arrayToString(success : String -> Void)
{
var str = String()
var myFunc : (Iterator -> Void)!
myFunc = {
if $0 != nil
{
str += array[$0]
myFunc($0.next)
}
else
{
success(str)
}
}
myFunc(array.first)
}
arrayToString({
println($0)
})
有什么建议吗?