我想在 Swift 中循环访问一个数组,我需要知道何时到达最后一项。我正在使用 enumerateObjectsUsingBlock。由于没有可选的完成 block (就像在某些 CoreAnimation 方法中一样),我假设 stop 参数表示结束点 - 这是正确的吗?
itemsArray.enumerateObjectsUsingBlock {
(object, index, stop) -> Void in
self.displayedItems.addObject(object as SpecialItem)
if stop == true {
println("the end.")
}
}
stop 似乎是 UnsafeMutablePointer 类型。因此我不能简单地测试它是真/假还是零。我如何知道枚举何时完成?
最佳答案
enumerateObjectsUsingBlock
同步 执行。枚举结束
当方法返回时。
stop
是对 bool 值的引用,可以将其设置为 true
以停止进一步处理,
例如:
itemsArray.enumerateObjectsUsingBlock {
(object, index, stop) -> Void in
// process at most 5 elements:
if index == 4 {
stop.memory = true
}
}
在 block 内测试 if stop == true
没有意义。
关于ios - 使用 block 枚举/迭代数组并知道它何时完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25285355/