如何使函数在 swift 中返回其内部闭包的值



如何从beginGetImageRequest返回downloadedImage.

func beginGetImageRequest() {
if let imagePath = thumbPath {
request = Alamofire.request(.GET, imagePath).response(completionHandler: { (_, _, imageData, error) -> Void in
if error != nil {
NSLog("Error downloading thumbnail image: (error)")
} else {
if let downloadedImage = UIImage(data: imageData!) {
self.imageView.image = downloadedImage
}
}
})
}
}

误解了请求,我再次编辑它:

func beginGetImageRequest(completion:(_ image:UIImage)->()){
if let imagePath = thumbPath {
request = Alamofire.request(.GET, imagePath).response(completionHandler: { (_, _, imageData, error) -> Void in
if error != nil {
NSLog("Error downloading thumbnail image: (error)")
} else {
if let downloadedImage = UIImage(data: imageData!) {
completion(downloadedImage)
}
}
})
}
}

调用该方法时:

beginGetImageRequest { (image:UIImage) in
// code you need
}

最新更新