【发布时间】:2014-12-05 10:53:38
【问题描述】:
我想知道 Swift 中是否有数组的迭代器,就像在 CPP 中一样,它允许避免使用 position 来访问数组的下一个元素。
实际上,我在数组中使用 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)
})
我正在寻找这样的解决方案:
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)
})
有什么建议吗?
【问题讨论】:
标签: arrays swift iterator iteration