21得票4回答
将NSCache内容保存到磁盘

我正在编写一个应用程序,需要在内存中保留一堆对象的缓存,但是为了避免混乱,我计划使用NSCache来存储所有内容。看起来它会负责清理等工作,这太好了。 我还想将缓存持久化到磁盘上,以便在启动时恢复缓存数据。有没有一种简单的方法将NSCache的内容保存为plist或其他格式?也许有更好的方法可...

21得票1回答
iOS - 保存图片的最佳实践 - NSCache与保存在文档目录中的比较

我正在开发一个类似Instagram feed的应用程序(使用表格视图来展示包含图像和一些标签的单元格)。 对于从数据库中获取的所有数据,我都使用Data Task(因为接收它们不需要花费太多时间),但是对于图像(它们的url是通过Data请求获取的),我需要将其本地保存以备将来使用(以改善...

10得票2回答
NSCache:尝试访问缓存项时总是出现“未键值编码”的问题

我正在尝试使用NSCache将PNG存储为NSData。无论缓存是否为空,每当我尝试从缓存中获取一个数据时,都会出现以下信息: 2012-10-26 09:49:28.860 SledMap [55917:11503] * Terminating app due to uncaught ex...

10得票2回答
如何使用Swift在iOS开发中处理“缓存”问题

我在考虑为我的iOS应用实现什么缓存机制时遇到了一些问题。首先,让我们解释一下我的情况。 我想通过使用Alamofire从我的服务器上的RESTful API请求数千个附近位置记录(10000或更多),其中每个记录都由一堆字符串组成。JSON响应格式类似于以下内容: [ { ...

7得票2回答
使用全局NSCache还是每个类一个?

我想知道是使用一个全局的NSCache实例好还是每个需要它的组件都使用自己的实例更好。 例如,我有几个视图子类,将内容绘制成图像并将其缓存以避免一直重新生成它们。对于每个类,使用一个NSCache实例是否比使用一个集中的NSCache实例更好? 我的意思不是每个对象实例一个缓存!我是说每个...

9得票3回答
NSCache在应用程序进入后台时总是清除图像数据

这可能是预期行为,但苹果并没有明确说明。 我正在使用 NSCache 缓存我的 UICollectionView 中的一些图片。当我将应用程序放到后台并立即重新打开它时,所有的图片都不再在 NSCache 中了。 理想情况下,我希望最近加载的图片保留在缓存中,这样当用户重新打开应用程序时,...

7得票4回答
在iOS上如何检查NSCache的内容?

有没有一种方法可以检查NSCache的内容以进行调试? 这不会在App Store中使用。我只是想在调试时能够看到里面发生了什么。 description几乎没有用。

9得票1回答
应用程序进入后台时 NSCache 被清空。

我目前使用NSCache的子类来存储一些图片(值)及其对应的名称(键),在应用程序处于前台时似乎运行良好。然而,当我按下主页按钮/用户进入后台并重新进入应用程序时,NSCache为空。 实现细节:我将NSCache的子类实现为单例。这确保该类应只有一个实例,并且可以通过调用类名以及共享实现 ...

9得票2回答
当内存达到限制时,NSCache在iOS 7上崩溃

我们的应用程序中使用NSCache来存储UIImages。在iOS版本小于7的情况下,这个方法可以正常工作。当发生内存警告时,NSCache会释放对象,达到预期的效果。但是,在iOS 7上,我们的应用程序在第一次内存警告后不久就会崩溃。因此,似乎使用NSCache存储的对象从未被释放,而缓存会...

13得票4回答
如何在Swift中使用URLSession缓存图像

我希望优化下面的代码,以便缓存图像,并且只有在它们之前没有被缓存时才下载它们。我找不到如何使用URLSession对象来实现这一点的好例子。extension UIImageView { func loadImageWithURL(_ url: URL) -> URLSessio...