我需要在完全枚举数组中的所有对象后执行操作。如何在Swift中向enumerateObjectsWithOptions(_:usingBlock:)
添加完成块。
或如何知道enumerateObjectsWithOptions(_:usingBlock:)
何时完成。
allVisitors.enumerateObjectsWithOptions( NSEnumerationOptions.Concurrent, usingBlock: { (obj, idx, stop) -> Void in
})
答案 0 :(得分:3)
NSArray中的方法enumerateObjectsWithOptions为synchronous。
因此,在为数组中的每个元素执行块之后,将在下一行写入的内容执行。 These users tested the version without options
E.g。
allVisitors.enumerateObjectsWithOptions( NSEnumerationOptions.Concurrent, usingBlock: { (obj, idx, stop) -> Void in
// do your stuff
})
println("now allVisitors.enumerateObjectsWithOptions has done")
答案 1 :(得分:1)
方法:enumerateObjectsWithOptions(_:usingBlock:)
是同步的。
默认情况下,枚举从第一个对象开始并继续 串行通过数组到最后一个对象。你可以指定 NSEnumerationConcurrent和/或NSEnumerationReverse作为枚举 用于修改此行为的选项。此方法同步执行。
因此,您不需要添加完成块来了解完成时间,只需在enumerateObjectsWithOptions(_:usingBlock:)
下面写下您要执行的内容
如果你愿意,我可以尝试帮助你在最后添加一个块,但我认为这没有意义。