MKMapSnapshotter 需要很长时间来创建图像

MKMapSnapshotter takes long time for creating Image

我的 awakeWithContext 中有一个正在运行的 MKMapSnapshotter,我想为我的 imageView 设置它的图像。

问题是,MKMapSnapshotter 太慢了,无法设置图像。仅一两秒后,它就会创建快照图像。

override func awakeWithContext(context: AnyObject?) {
    super.awakeWithContext(context)

    var finalImage = UIImage()
    var snapshotterEnd = MKMapSnapshotter()
    snapshotterEnd.startWithCompletionHandler(){snapshot, error in

        finalImage = snapshot.image
    }
    imageView.setImage(finalImage)
}

我该如何解决这个问题?

您需要确保完成处理程序本身会设置图像。

snapshotterEnd.startWithCompletionHandler() { snapshot, error in
    imageView.setImage(snapshot.image)
}

完成块在主线程上记录为 运行ning,因此您不需要在那里使用 dispatch_async 到 运行。