带有 PHAsset 的 SDWebImage

Posted

技术标签:

【中文标题】带有 PHAsset 的 SDWebImage【英文标题】:SDWebImage with PHAssets 【发布时间】:2015-03-10 13:33:58 【问题描述】:

我有一个应用程序,我从数据库中加载大量图像并将它们显示在我的画廊中,我之前所做的是我从 PHAsset 获取照片 url(本地标识符),然后使用 PHCacheManager 访问图像,但是它减慢了我的滚动速度,并且在更新新单元格中的图像时也会显示滞后。我试图在这里通过将 url 传递给 sd_setImageWithURL: 方法来使用 SDWebImage,但是我发现 URL 实际上是该方法不支持的本地标识符。我们是否有其他机制,我可以使用标识符使用 SDWebImage 或任何其他框架更快地加载图像。

这是我的代码:

NSURL *photoURL = [NSURL URLWithString:photoPath];
[imageView sd_setImageWithURL:photoURL placeholderImage:defaultImage];

photoPath 是我的资产“要加载的当前图像”的路径

我得到的网址是这样的:

73F05642-CAE6-49BE-879B-9B00BF15391F/L0/001

请询问是否需要更多信息,我是 ios 和所有这些东西的新手。在此先感谢:)

【问题讨论】:

【参考方案1】:

已经晚了,但我发布它是为了对其他人有所帮助。

SDWebImageManager * manager = [SDWebImageManager sharedManager];

[manager downloadImageWithURL:[NSURL URLWithString:localIdentifier] options:SDWebImageHighPriority targetLocalAssetSize:CGSizeMake(150, 150) progress:nil completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished, NSURL *imageURL) 

    if (image) 

        imageview.image = image;
    

];

【讨论】:

以上是关于带有 PHAsset 的 SDWebImage的主要内容,如果未能解决你的问题,请参考以下文章

PHAsset:啥是“assetSource”?

PHAsset,如何在应用重启后检索特定的 PHAsset 对象(ios8 Photos)

如何在 iOS 中通过 UIActivityViewController 导出 PHAsset 视频

如何从 PHAsset 获取视频的缩略图?

如何从视频 URL 获取视频的 PHAsset?

如何从 PHAsset 获取图像 URL?是不是可以使用 PHAsset URL 将图像保存到文档目录?