2013-09-16 1 views
0

Я работаю над приложением ipad в xcode и не буду кэшировать некоторые данные. Всюду, а также на плечах переполнения стека, используйте EGOcache. Сайт показывает, что много людей используют этот https://github.com/enormego/EGOCache Но все, кажется, получают, как это работает, и я этого не делаю.EGOcache cocoa pod нет примеров, так как это работает

Но они не оставляют примеров и не могут быть найдены.

Итак, если у вас есть опыт, пожалуйста, покажите мне 3 вещи.

Сохранить NSData с помощью ключа, Get NSData с ключом, Очистить кэш

Для сохранения с таймером я думаю, что это правильно:

[self.cache setData:data0 forKey:@"MessagesCache" withTimeoutInterval:timer]; 

Для кеш это:

[self.cache clearCache]; 

Но получить я понятия не имею, поэтому я не могу проверить его.

self.cache - это экземпляр файла реализации EGOcache.

@property (strong, nonatomic) EGOCache *cache; 

Надеюсь на помощь, спасибо.

ответ

2

Вам не нужно свойство для EGOCache. Вместо того, что вы должны были использовать это:

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

Чтобы очистить это сделать:

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

Вы действительно не должны видеть, если кэш существует до его удаления, но я предпочитаю безопасный подход в случае изменения основной реализации removeCacheForKey.

Я действительно не стал бы беспокоиться о параметре withTimeoutInterval. Я никогда не использовал его и никогда не нуждался. Надеюсь это поможет.

+0

Спасибо за ответ. И тайм-аут - это то, что мне нужно. Кэш необходимо было удалить через некоторое время, чтобы заставить пользователя обновлять данные. – Msmit1993

3

В мире Objective-C в таком случае, когда документации не так много, как я думаю, должен быть, я иду прямо в заголовочный файл. Тогда в вашем случае я бы поискал метод с именем вроде setData (я предположил это имя еще до того, как я прочитал заголовок, чтобы ответить на него), который равен here. Затем вы должны использовать dataForKey: от here и, наконец, clearCache от here, так что, короче говоря, ваши предположения выглядят правильно.

+0

Спасибо за вашу долю и, пожалуйста, примите мое восхищение. Это напоминает мне старое высказывание: «Дайте человеку рыбу, и вы накормите его на день». Это то, что я отчаянно нуждаюсь сейчас. Еще раз спасибо. – Calios