Как хранить и получать данные на iphone локально - PullRequest
1 голос
/ 24 февраля 2011

Что я хочу это:

  1. Хранить данные в iphone.
  2. Показать сохраненные данные.

Могу ли я узнать простой способ сделать это?

Спасибо

Ответы [ 3 ]

0 голосов
/ 24 февраля 2011

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

-(BOOL) setObjectWithKey:(NSString *) key andValue:(NSString *) value {
    NSMutableData *data = [[NSMutableData alloc] init];
    NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
    [archiver encodeObject:value forKey:key];
    [archiver finishEncoding];
    [data writeToFile:[self dataFilePath:key] atomically:YES];
    [archiver release];
    [data release];
    return YES;
}
-(void) removeObjectFor:(NSString *) key
{
    NSFileManager *fm = [NSFileManager defaultManager];
    BOOL exists = [fm fileExistsAtPath:[self dataFilePath:key]];
    if (exists == YES) {
        [fm removeItemAtPath:[self dataFilePath:key] error:NULL];
    }
    return;
}

Приведенный выше объект может фактически быть любой вашей моделью данных (вместо простой строки NSString), состоящей из базовых объектов по умолчанию, таких как строки NSS, целые числа и т. Д. В этом случае вам необходимо реализовать некоторый код сериализации в объекте модели. См. NSCoding, NSCopying.

0 голосов
/ 25 февраля 2011

Сколько данных вы пытаетесь сохранить?

Для самых основных нужд я использовал localStorage. Это, вероятно, не подходит для большого количества данных, но может быть легко использовано для доступа к меньшим частям данных.

localStorage.setItem(key, value)
localStorage.getItem(key) //returns value associated with this key

Чтобы хранить больше информации, вы можете записывать и читать из локального файла, используя fileWriter и fileReader, если вы хотите реализовать это, используя javascript на стороне телефонной пропасти. Просто посмотрите на api phonegap.

0 голосов
/ 24 февраля 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...