问题标签 [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 投票
4 回答
249 浏览

iphone - 如何为每个 uitableviewcell 缓存从互联网下载的图像和标签文本?

我从互联网上下载每个表格单元格的文本和图像。我在后台(GCD)中执行此操作,但性能不佳(需要一段时间为所有行的 dll 图像),因为有很多行。

我将 nsurlconnection 用于图像 dll。

我用谷歌搜索了一下,变得困惑。最简单的方法是什么?使用 NSCache(用于图像和文本)还是我必须学习核心数据?

0 投票
1 回答
3502 浏览

objective-c - NSCache,removeAllObjects 会释放内存使用吗?我正在使用 ARC

我正在使用在我的应用程序委托上创建并存储的 ARC 和 NSCache。然后我通过应用程序委托从控制器调用它。NSCache 在从 url 加载图像时存储图像,并且内存使用量上升得非常快。当我检查分析器的实际内存使用情况时,我的应用程序甚至达到了 320 MB 的内存使用情况,但在分配时它说它刚刚分配了 20-30 MB。

在我的应用程序委托上,我将缓存设置如下(它是一个 ivar):

我实现了一个按钮来试验 NSCache,当我点击它时,它会调用:

在分析器上,使用的内存没有下降,但它实际上又开始获取图像,所以我知道删除的对象。如何使用 ARC 随意释放此内存使用量?如何获取缓存的大小以知道何时释放它?

0 投票
1 回答
534 浏览

objective-c - 存储充满 NSImage 的 NSCache 的最简单方法

持久存储NSCache充满NSImages 的最简单方法是什么?我不是在寻找核心数据,这对于存储带有图像的字典来说似乎有点过分。

0 投票
1 回答
269 浏览

iphone - 我可以将下载的文件保存到 iPhone 中的 NSCacheDictionary 吗?

我正在使用 NSURLConnection 通过我的应用程序下载一些 mp3 文件。其实我可以在哪里保存下载的文件。有人说保存到 NSDocumentDirectory 会导致应用被拒绝。

我可以将文件保存到 NSCacheDictionary 并从 iTunes 中检索吗?

我使用这段代码将文件保存到 NSCacheDictionary

我可以这样使用吗?

0 投票
1 回答
611 浏览

objective-c - NSCache 一直给我(null)

我将 NSString 保存到 NSCache,但在 NSLog 处给了我(null)。

在 ViewDidLoad 初始化后,我将这段代码保存在 NSCache

然后我有一个被调用并保存对象的函数

然后我像这样检查:

很遗憾...

以前有人遇到过这个问题吗?任何帮助表示赞赏。

0 投票
2 回答
9147 浏览

objective-c - 如何在ios的NSCache中存储数据?

我对 NSCache 很陌生。

我有一个 API 调用会产生多个对象。如何将这些对象存储在 NSCache 中,这样我就不需要再次调用 API。

NSCache 中可以存储多少数据。将数据存储在 NSCache 中是否有特定限制。

请帮我。

0 投票
2 回答
2087 浏览

objective-c - NSCache:尝试访问缓存项目时总是得到“不符合键值编码”

我正在尝试使用 NSCache 将 PNG 存储为 NSData。每当我尝试从缓存中取回一个,无论缓存是否为空,我都会得到:

2012-10-26 09:49:28.860 SledMap [55917:11503] *由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[valueForUndefinedKey:]:此类不符合键 0_0_5 的键值编码。”

如果我完全保留代码,但将 NSCache 更改为 NSMutableDictionary,它可以正常工作。

我声明我的缓存:

分配它(在 viewDidLoad 中):

向缓存中添加一些内容:

然后当我把它拿出来时,我得到了上述错误。

如果它是空的,我希望它只返回 nil,当我将 self.tileCache 设置为 NSMutableDictionary 而不是 NSCache 时会发生这种情况。此外,在调试区域,它说:

如果我传入一个 NSString,它会做同样的事情并说变量不是 NSString。

此外,我可以硬编码key为“A”并尝试再次以“A”的形式访问它,结果相同。

有任何想法吗?

0 投票
0 回答
560 浏览

iphone - NSCache 在 setObjectForKey 上驱逐对象

NSCache 每次我设置一个对象时都会驱逐对象!这是疯了。

这是我添加对象的方式:

这是我的委托方法 willEvictObject:

每次我将对象添加到缓存时,它都会驱逐它。真的很奇怪。

有任何想法吗?这是我分配它的方式:

谢谢!

0 投票
3 回答
5699 浏览

ios - NSCache 和背景

我注意到当应用程序进入后台时 NSCache 会驱逐其所有对象。这是预期的行为吗?有没有办法避免它?

我希望它在设备内存不足时而不是在应用程序进入后台时立即驱逐对象。

你知道任何有效的替代方案吗?

0 投票
2 回答
1276 浏览

iphone - 键值观察 NSCache

我想在与 NSCache 实例中的某个键对应的对象发生更改时得到通知。我试过使用 Key-Value Observing 没有运气(控制台不记录任何内容)。

如何观察 NSCache 的内容?