我正在使用xcode中的ipad应用程序并且不想缓存一些数据。 到处以及堆栈溢出的人都说使用EGOcache。 该网站显示很多人使用此https://github.com/enormego/EGOCache 但是每个人似乎都知道它是如何运作的,而我却不知道。
但他们没有留下任何例子,也没有任何例子可以找到。
所以,如果您有经验,请告诉我3件事。
使用密钥保存NSData, 使用密钥获取NSData, 清除缓存
对于使用计时器保存,我认为这是正确的:
[self.cache setData:data0 forKey:@"MessagesCache" withTimeoutInterval:timer];
清除缓存:
[self.cache clearCache];
但是让我不知道,所以我无法测试它。
self.cache是EGOcache实现文件的实例化。
@property (strong, nonatomic) EGOCache *cache;
希望得到帮助,谢谢。
答案 0 :(得分:3)
在Objective-C世界中,如果没有像我认为应该那样多的文档,我会直接转到头文件。然后在你的情况下,我会寻找一个名为setData
之类的方法(我在读到标题之前就假定了这个名称来回答这个问题),这是here。然后你会使用来自here的dataForKey:
,最后来自here的clearCache
,所以简而言之,你的假设看起来是正确的。
答案 1 :(得分:2)
您不需要EGOCache的属性。而不是你用过的东西:
[[EGOCache globalCache] setData:data0 forKey:@"MessagesCache"];
要清除它,请执行以下操作:
if ([[EGOCache globalCache] hasCacheForKey:@"MessagesCache"]) {
[[EGOCache globalCache] removeCacheForKey:@"MessagesCache"];
}
在删除缓存之前,您不必确定缓存是否存在,但在底层removeCacheForKey实现发生更改的情况下,我更喜欢安全方法。
我真的不担心withTimeoutInterval参数。我从来没有使用它,也没有必要。希望这会有所帮助。