我对GMSMarker数组有问题。当我运行我的代码时,它显示“严重错误:数组索引超出范围”。我将从Google地图上删除标记。我不明白为什么会出现此错误。这很简单,但是请帮助我解决问题。
var MarkerList = [GMSMarker]()
if(MarkerList.count > 0){
for var j = 0 ; j < MarkerList.count ; j++ {
dispatch_async(dispatch_get_main_queue()) {
self.MarkerList[j].map = nil
}
}
}
最佳答案
您应该在主线程上运行整个for循环。或者,您甚至可以做得更好,并在Swift2中使用新的forEach函数。
之前:
if(MarkerList.count > 0){
for var j = 0 ; j < MarkerList.count ; j++ {
dispatch_async(dispatch_get_main_queue()) {
self.MarkerList[j].map = nil
}
}
}
后:
dispatch_async(dispatch_get_main_queue()) {
MarkerList.forEach { $0.map = nil }
}
关于ios - 致命错误:快速2中的数组索引超出范围,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34283238/