繁体   English   中英

致命错误:快速2中的数组索引超出范围

[英]fatal error: Array index out of range in swift 2

我对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 }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM