0

私は 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;

助けてください、ありがとう。

4

2 に答える 2

3

このような場合の Objective-C の世界では、必要だと思うほど多くのドキュメントがない場合、ヘッダー ファイルに直接アクセスします。次に、あなたの場合、次のような名前のメソッドを探しますsetData(これに答えるためにヘッダーを読む前から、この名前を想定していました)here . 次に from here を使用し、最後に from here を使用するdataForKey:ので要するにclearCacheあなたの仮定は正しいように見えました.

于 2013-09-16T21:36:56.230 に答える
2

EGOCache のプロパティは必要ありません。これを使用していたものの代わりに:

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

クリアするには、次のようにします。

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

削除する前にキャッシュが存在するかどうかを実際に確認する必要はありませんが、基になる removeCacheForKey 実装が変更された場合に備えて、安全な方法をお勧めします。

withTimeoutInterval パラメータについても心配する必要はありません。私はそれを使用したことはありませんし、必要もありませんでした。お役に立てれば。

于 2013-10-02T22:45:12.050 に答える