Apple WatchKit (watchOS 1) 的 WKInterfaceDevice 的图像缓存管理器
如果您通过 EMTImageCacheManager 向缓存中添加数据,缓存将自动命名,如下所示。
cache<current date>_<image name>
然后,如果 WKInterfaceDevice 的 cachedImages 已满,EMTImageCacheManager 将按添加日期的升序自动删除必要的缓存文件。
只需将类文件添加到您的项目中,或使用 CocoaPods。
platform :ios, "8.2"
target :'Your WatchKit Extension Name', :exclusive => true do
pod 'EMTImageCacheManager', '~> 1.0.6'
end
EMTImageCacheManager 是一个单例类。通过实例方法获取实例。
在您第一次通过该类添加/获取/删除缓存时,所有由 EMTImageCacheManager 命名的数据将被自动从缓存中提取。如果您想在此过程中进行,请使用以下方法。
[[EMTImageCacheManager instance] prepareOrderedCacheInformations];
NSString *imageName = [[EMTImageCacheManager instance] addOrderedCachedImageWithData:data name:@"image01"];
if (imageName) {
//Cache succeeded. You can handle a image with the returned imageName.
[self.thumbImage setImageNamed:imageName];
}
else {
//Cache is full with non-EMTImageCacheManager images.
[self.thumbImage setImageData:data];
}
NSString *imageName = [[EMTImageCacheManager instance] getOrderedCacheKeyForName:@"image01"];
if (imageName) {
//Cache found
[self.thumbImage setImageNamed:imageName];
}
//Remove a single file added via EMTImageCacheManager
[[EMTImageCacheManager instance] removeOrderedCachedImageForName:@"image01"];
//Remove all files added via EMTImageCacheManager
[[EMTImageCacheManager instance] removeAllOrderedCachedImage];
EMTImageCacheManager 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。