gpt4 book ai didi

ios - 在 Swift 1.2 中使用 assetForURL

转载 作者:搜寻专家 更新时间:2023-11-01 06:46:51 25 4
gpt4 key购买 nike

我正在尝试获取照片库中的图像,为此我正在使用 assetForURL,但我一直收到错误消息“无法使用类型为‘( NSURL, resultBlock: (ALAsset!) -> Void, (NSError!) -> Void)'"

我已经检查过这里的问题以及其他人如何使用该方法,但我总是得到同样的错误。这是我的方法:

class func getImageFromPath(path: String) -> UIImage? {
let assetsLibrary = ALAssetsLibrary()
let url = NSURL(string: path)!

assetsLibrary.assetForURL(url, resultBlock: { (asset: ALAsset!) -> Void in
return UIImage(CGImage: asset.defaultRepresentation().fullResolutionImage())
}) { (error: NSError!) -> Void in
return nil
}
}

我不知道我错过了什么..谢谢!

最佳答案

ALAssetsLibraryAssetForURLResultBlockALAssetsLibraryAccessFailureBlock 不返回值。 (->Void表示没有返回值。)

(ALAsset!) -> Void(NSError!) -> Void

所以你不应该在这些 block 中返回imageerror。例如,只需在 block 中分配局部变量。并返回 block 外的变量。

如下所示:

class func getImageFromPath(path: String) -> UIImage? {
let assetsLibrary = ALAssetsLibrary()
let url = NSURL(string: path)!

var image: UIImage?
var loadError: NSError?
assetsLibrary.assetForURL(url, resultBlock: { (asset) -> Void in
image = UIImage(CGImage: asset.defaultRepresentation().fullResolutionImage().takeUnretainedValue())
}, failureBlock: { (error) -> Void in
loadError = error;
})

if (!error) {
return image
} else {
return nil
}
}

关于ios - 在 Swift 1.2 中使用 assetForURL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29698781/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com