ios - ios swift MPMediaItemArtwork requestHandler 从 SDWebImage 返回图像
问题描述
如何从到异步加载sdwebimage
图像?MPMediaItemArtwork
MPNowPlayingInfoCenter
MPMediaItemPropertyArtwork: MPMediaItemArtwork(boundsSize: CGSize(width: 200, height: 200), requestHandler: { (size) -> UIImage in
let fakeImageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 200, height: 200))
fakeImageView.sd_setImage(with: thumbURL, completed: { (image, error, cache, url) in
if (error != nil) {
return UIImage(named: "no_artwork") // i cannot return this
} else {
return image // i cannot return this
}
})
return ... // how access to image from sdwebimage
})
我无法从内部函数返回图像。如何解决这个问题?
解决方案
从您提供的代码中,该sd_setImage
方法的闭包返回 void,您不能在那里定义非 void 返回值。
但是,您可以定义MPMediaItemArtwork
闭包的内部。那是您可以使用图像的时间。
推荐阅读
- javascript - 如何在我的其他网站上显示二维码?
- wso2 - Puppet 和 SVN 在 WSO2 API Manager 架构中的意义是什么?
- android - 如果 Android 设备上没有外部 SD 卡插槽,我可以运行 CTS 吗?如何运行?
- php - 将 ID 从 Laravel show 传递到 Datatables 路由
- python - Matplotlib:非 GUI 后端
- google-cloud-identity - 如何允许 Cloud Identity 中的用户访问 Google Drive 和 Google 中的其他服务
- javascript - 如何在 $.when 函数中有 SetInterval()
- android - Android 应用程序在调试模式下工作正常,但在发布模式下崩溃
- php - 在 PHP 中使用 namspace 找不到类
- python-3.x - 我如何在课堂上使用多处理