问题标签 [nscache]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
620 浏览

ios - 使用 NSCache 缓存图像下载是否会浪费内存作为 NSURLSession 就绪缓存?

我知道NSURLSession用于NSURLCache缓存 HTTP 响应,所以如果我使用NSCache缓存图像下载由于其自身的优势,我是否在内存中为每个缓存有两个副本,从而造成浪费?

如果是这样,我如何停止NSURLSession自动缓存在内存中?(我仍然想要持久存储缓存。)

0 投票
4 回答
2020 浏览

ios - 如何清除 PFFIle 缓存 (Parse.com)

我有一个应用程序可以从解析中下载并显示大量图像。几乎每分钟都会将图像添加到数据库中。由于 PFFile 是自动缓存的,没有过期日期,即使我只需要显示最近的图像,旧的图像仍然保留在缓存中,因此占用了大量的存储空间。因此,现在该应用程序在我的 iPhone 上占用了大约 5GB 的存储空间。我一直在对这个问题进行大量研究,发现 Parse 没有用于清理 PFFile Cache 的公共 api,并且它也不允许在缓存文件上设置过期日期。是否有解决方法,我可以手动删除较旧的缓存数据?

先感谢您。

0 投票
0 回答
309 浏览

ios - NSCache 在重新启动项目后返回 null

我正在使用NSCacheObjective-C 和 Cocoa for iOS。每次我重新启动项目时,getCacheRecommend调用都会返回null,我希望它返回一个值。

ASJsonDiscoverModel是我的自定义对象类。

0 投票
1 回答
1420 浏览

ios - NSCache objectForKey:在 iOS 8 上出现内存警告后总是返回 nil

我遇到了一个只发生在 iOS 8 上的问题。我用NSCache来存储我的图像。收到内存警告后,我会获取图像并再次存储到缓存中。但是,在警告后缓存无法再存储我的图像。它总是通过使用返回 nil 给我objectForKey:
这是我的代码的一部分:

谢谢 :)

解决方案

您必须设置countLimit并且该值必须大于0。然后您也可以使用totalCostLimit

0 投票
1 回答
336 浏览

ios - Can a WatchKit Extension access data from NSCache?

I know that we can get data from NSFileManager to get images from our app into our WatchKit extension - but we've been using NSCache to cache images in our iOS app. Is there a way to connect our WatchKit extension to images from NSCache?

Here's what Apple's documentation says:

At runtime, you share files between processes by reading and writing those files in the shared container directory. To access the container directory, use the containerURLForSecurityApplicationGroupIdentifier: method of NSFileManager to retrieve the base URL for the directory. Use the provided URL to enumerate the directory contents or create new URLs for files in the directory.

To share preferences data between apps, create an NSUserDefaults object using the identifier of the shared group. The initWithSuiteName: method of NSUserDefaults creates an object that allows access to the shared user defaults data. Both processes can access this data and write changes to it.

At first glance, it sounds like no, it's not possible to use NSCache to share images between our iOS app and our WatchKit app - but if somebody's got a way to do this, I'd love to know.

0 投票
1 回答
407 浏览

ios - MKTilelOverlay 中的 NSCache

我正在尝试向NSCache我的子MKTileOverlay类添加一个:

}

但是我从来没有看到从缓存中获取切片(我从来没有看到日志消息“找到缓存切片!!!!!!”)。

我可能做错了什么?

编辑:我添加了日志信息

我添加了一堆日志记录。我检查是否创建了缓存,以及它是否与我在查找图块时引用的缓存相同。我还检查了数据是否已添加到缓存中,并在添加后立即找到:

0 投票
1 回答
5530 浏览

ios - 用于存储 UIImage ios 的 NSCache 初始化

我正在使用 NSCache 来存储图像。但是这里的问题是,一旦我在控制器之间切换,NSCache 就会清空。我希望这些项目至少在应用程序关闭或用户注销之前一直存在。假设我有一个选项卡视图,并且我将数据中的图像存储在第一个选项卡中。当我转到第二个选项卡并切换回第一个选项卡时,NSCache 再次初始化。

这是我的代码:-

控制永远不会转到第一个 if 语句。我错过了什么吗?

0 投票
1 回答
217 浏览

objective-c - AFImageCache 重启后返回 nil

我正在使用 AFNetworking 2.5 版。我在下面描述了我的问题。提前致谢。

我的问题:

调试时,我看到 AFNetworking 下载图像并将其存储到磁盘。重新启动后,图像缓存仍保留在磁盘中,但不会从 NSCache 返回。

请注意,应用程序也没有收到任何内存警告,也不会自动清除缓存。每次重新启动时,我都会从 finder 中检查文件并查看它们都保留下来,但 AFNetworking 无法从缓存中接收它,并再次下载它。

“UIImageView+AFNetworking.m”下面的行返回 nil:

我的代码:

0 投票
1 回答
6142 浏览

ios - NSCache 在 Swift 中为 UITableView 存储图像

我是 swift 编程的新手,我搜索了很多关于使用 Swift 使用 NSCache 存储图像的信息。

到目前为止,我所做的是使用 JSON 获取ids 和imageNames,并且我将数据保存在数组中,并且能够毫无问题地在单元格中显示图像。现在我想缓存图像。这是我写的代码:

那么,如何使用缓存存储和检索图像?

0 投票
1 回答
12265 浏览

ios - iOS - 在本地保存图像的最佳实践 - NSCache 与保存在文档目录中

我正在开发一个类似于 Instagram 提要的应用程序(带有包含图像和一些标签的单元格的表格视图)。

对于我从数据库中获取的所有数据,我正在使用数据任务(因为接收它们并不需要太多),但是对于图像(我通过数据请求获得的它们的 url),我需要保存在本地以备将来使用(改善用户体验)。

我的逻辑如下:保存在 NSCache 或文档目录中,文件夹内的图像及其下载日期(创建一次并在需要时附加所有其他图像)(我正在删除不是最近 7 days ),然后对于 TableView,只需从那里加载,这样 tableview 将平滑滚动并且不会直接从其委托方法加载 url。那么根据我的需要,NSCache 或 Document Directory在哪里存储它们更好。

期待听到您的建议,谢谢!