草庐IT

PINCache

全部标签

MKTileOverlay 和 PINCache 库的 iOS/MapKit 缓存管理问题

我正在使用MapKit,以便通过在mapView上添加MKTileOverlay来创建卫星和雷达动画。使用UISlider和PlayButton,我可以通过播放MKOverlayRenderer的alpha(根据slider的位置将它们设置为0或0.75)来创建动画,例如GIF。动画非常流畅,我所有的卫星和雷达图block都在mapView上正确加载。我遇到了一个缓存管理问题。我意识到MapKit没有为我的tileOverlay使用缓存,这就是为什么我使用库PINCache来保存我的图block,这样它就不会在我每次播放动画时请求和下载图像。我的实现:我重写方法URLForTilePa

ios - PINCache objectForKey 返回 NSCoding 并且无法转换它

我正在使用PINCache(https://github.com/pinterest/PINCache)将一些对象缓存到我的应用程序中。所以,使用objC是完美的,但是当我想用swift转换时,我有EXC_BAD_ACCESS当我调用objectForKey-(id)objectForKey:(NSString*)key;我没有为该键缓存任何内容,但Swift知道该对象是一个NSConding。因此,如果我将值放入键中,我就没有问题。那么,我如何转换这个NSCoding结果并与nil值进行比较。我只需要知道从PINCache返回的对象是否为nil(从不缓存)。我已经试过了:privat