0
我使用的是MKMapSnapShotter
,但是當我在return finalImage
上設置斷點時,我可以看到該值僅爲空ObjectiveC.NSObject
,而不是UIImage
。爲什麼我的UIImage在Swift中沒有正確設置?
func getIMG() -> UIImage{
var finalImage = UIImage();
let imageOptions = MKMapSnapshotOptions();
imageOptions.region = mapView.region;
imageOptions.size = mapView.frame.size;
imageOptions.showsBuildings = true;
let imgMap = MKMapSnapshotter(options: imageOptions);
imgMap.start(completionHandler: { (imageObj: MKMapSnapshot?, Error) -> Void in
if(Error != nil){
print("\(Error)");
}else{
finalImage = imageObj!.image;
}
});
return finalImage;
}
我的地圖加載正確等,所以問題必須在這裏。此外,什麼是用於測試目的的最快和最簡單的方式來查看圖像? (我不想爲了看它生成的圖像而設計一個imageView等等)。
乾杯
UPDATE:
func getIMG(completion: @escaping (UIImage)->()){
var finalImage = UIImage();
let imageOptions = MKMapSnapshotOptions();
imageOptions.region = mapView.region;
imageOptions.size = mapView.frame.size;
imageOptions.showsBuildings = true;
let imgMap = MKMapSnapshotter(options: imageOptions);
imgMap.start(completionHandler: { (imageObj: MKMapSnapshot?, Error) -> Void in
if(Error != nil){
print("\(Error)");
}else{
finalImage = imageObj!.image;
}
completion(finalImage);
});
}
-
map.getMapAsIMG{ (image) in
print(image);
};
注:編譯器需要我用@escape ...
這樣做很有意義,我現在要做實驗,並且會回覆給您。還歡呼 –
,即使當我在'finalImage = imageObj!.image;'上放置了一個斷點時,該值仍然以空的NSObject形式出現......當然,這意味着還有另一個無法解決的問題? –
你嘗試關閉嗎? –