лучший вариант для кэширования данных в ios - PullRequest
0 голосов
/ 23 августа 2011

Я пытаюсь найти лучший вариант для кэширования нескольких строковых значений в системе ios.

Два, которые я нашел до сих пор, это NSCache и NSDictionary, однако из того, что я прочитал, NSCache будет сбрасывать данные, если у вас начнутся проблемы с вашей памятью, и, честно говоря, я не совсем понимаю NSDictionary.

Так что мне интересно, что если есть какие-то другие варианты, которые подойдут к тому, что я пытаюсь достичь ... например, возможно, используя базовые данные / локальный sqlite и т. Д.? в основном, план состоит в том, чтобы получать информацию из онлайновой базы данных, хранить на телефоне часть наиболее важной информации, которая обновляется только при изменении номера версии (и целого числа) в базе данных, и я буду очищать кэш и обновлять его. с новой информацией.

1 Ответ

1 голос
/ 23 августа 2011

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

Если это так, вы можете записать все данные в файл и сохранить его на телефоне, а затем перезагрузить нужные вам данные из этого файла позже. Лично мне нравится использовать NSCoding для этого, так как это позволяет вам легко хранить данные в файле, а затем читать их позже, когда вам это нужно. Вам даже не нужно читать все данные сразу, только то, что вам нужно в какое время, что может помочь с проблемами памяти. Вы также можете сделать свои собственные объекты совместимыми NSCoding, и хранить данные станет еще проще!

Я бы предложил попробовать NSCoding. Есть также множество учебников, чтобы помочь вам понять это.

Кроме того, NSDictionaries очень просты в использовании. Вы даете ему object и key для хранения, а когда вы хотите получить object, просто дайте NSDictionary key, и вы получите объект обратно.

Надеюсь, что поможет!

...