如何在本地存储和获取iphone数据

时间:2011-02-24 06:42:24

标签: iphone cordova

我想要的是:

  1. 将数据存储在iphone中。
  2. 显示存储的数据。
  3. 我能说出简单的方法吗?

    由于

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

如果你不反对只是序列化对象并将它们存储为文件,我认为最简单(不是最好的)方法就是只写入磁盘上的文件。 (根据需要进行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),它由默认的基础对象组成,如NSStrings,int等。在这种情况下,你必须在模型对象中实现一些序列化代码。参考NSCoding,NSCopying。

答案 2 :(得分:0)

您要存储多少数据?

对于非常基本的需求,我使用了localStorage。它可能不适合大量数据,但可以很容易地用于访问较小的数据部分。

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

如果你想在phonegap方面使用javascript实现它,你可以使用fileWriter和fileReader存储更多可以写入和读取本地文件的信息。只需查看phonegap api