在异步任务中填充数组时出错

时间:2016-05-12 18:13:25

标签: ios iphone swift

在我的iOS Swift应用程序中,我以这种方式使用异步任务填充2个数组:

    let priority = DISPATCH_QUEUE_PRIORITY_DEFAULT

    dispatch_async(dispatch_get_global_queue(priority, 0)) {

        for n: Node in DataManager.sharedInstance.allNodes {

            locationNode = CLLocationCoordinate2D(latitude: n.Lat, longitude: n.Lon)

            if locationNode.latitude < ne.latitude && locationNode.longitude < ne.longitude && locationNode.latitude > sw.latitude && locationNode.longitude > sw.longitude {

                self.listVisibleNodes.append(n)

                // Declare the marker `hello` and set its coordinates, title, and subtitle
                let hello = CustomPointAnnotation()
                hello.coordinate = locationNode
                hello.title = n.Label
                hello.subtitle = n.Net+"_"+String(n.Id)
                hello.imageName = n.Label

                self.visibleMarkersOnMap.append(hello)
            }     
        }

        dispatch_async(dispatch_get_main_queue()) {

            // update some UI
            mapView.addAnnotations(self.visibleMarkersOnMap)  
        }
      }

如您所见,我将值附加到2个位置的数组中。有时我在运行此代码时遇到错误,并非总是如此。一旦我遇到致命错误

  

带有负数的UnsafeMutablePointer.destroy

有时我得到EXC_BAD_ACCESS

我无法弄清楚这段代码有什么问题。有人能帮我吗?感谢。

0 个答案:

没有答案