EGOcache可可豆荚没有例子,所以它是如何工作的

时间:2013-09-16 13:40:56

标签: ios cocoapods

我正在使用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;

希望得到帮助,谢谢。

2 个答案:

答案 0 :(得分:3)

在Objective-C世界中,如果没有像我认为应该那样多的文档,我会直接转到头文件。然后在你的情况下,我会寻找一个名为setData之类的方法(我在读到标题之前就假定了这个名称来回答这个问题),这是here。然后你会使用来自heredataForKey:,最后来自hereclearCache,所以简而言之,你的假设看起来是正确的。

答案 1 :(得分:2)

您不需要EGOCache的属性。而不是你用过的东西:

[[EGOCache globalCache] setData:data0 forKey:@"MessagesCache"];

要清除它,请执行以下操作:

if ([[EGOCache globalCache] hasCacheForKey:@"MessagesCache"]) {
    [[EGOCache globalCache] removeCacheForKey:@"MessagesCache"];
}

在删除缓存之前,您不必确定缓存是否存在,但在底层removeCacheForKey实现发生更改的情况下,我更喜欢安全方法。

我真的不担心withTimeoutInterval参数。我从来没有使用它,也没有必要。希望这会有所帮助。