我在 swift 2.3
中使用 Realm 数据库
和 Kingfisher 框架
来获取图像。
我通过 JSON
let urls = NSURL(fileURLWithPath: newsRealm.newsImage)
let prefetcher = ImagePrefetcher(urls: [urls], optionsInfo: nil, progressBlock: nil, completionHandler: {
(skippedResources, failedResources, completedResources) -> () in
print("These resources are prefetched: \(completedResources)")
})
prefetcher.start()
'成功了,但是Realm数据库
中的图片是NSData
,如何将接收到的Kingfisher
数据写入Realm
作为 NSData
Realm 类:
class News: Object {
dynamic var newsImage: String = ""
dynamic var images: NSData?
}
嗨!我无法将图像写入我的数据库:
let urls = NSURL(fileURLWithPath: newsRealm.newsImage)
let prefetcher = ImagePrefetcher(urls: [urls], optionsInfo: nil, progressBlock: nil, completionHandler:
{(skippedResources, failedResources, completedResources) -> () in
print("These resources are prefetched: (completedResources.description)")
let images: [NSData] = completedResources
newsRealm.images = images
最佳答案
使用 optionsInfo: [.TargetCache(myCache)]
设置缓存 url,您可以在其中检索数据(如 here 所述),
或使用 example 检索图像
检索可以转换为 NSData
的 UIImage
,如 here .
关于ios - 如何从 Kingfisher 将图像作为 NSData 写入 Realm?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40192992/