保存和检索历史记录iphone

时间:2013-04-09 12:51:14

标签: objective-c uitableview nsmutablearray nsuserdefaults data-persistence

在我的应用中,我上传各种类型的数据,如图像,音频,视频,文字。现在我希望用户应该能够查看最近上传的100个项目,即使他退出并重新打开应用程序。为此,我将创建一个包含表格视图的视图。表格视图将填充最近上传的100个项目。现在我想通过NSUserDefaults实现这一点。对于图像,音频和视频iphone返回他们必须存储到NSUserDefaults的路径或URL,但是表视图必须由数组填充,所以我如何将我的文件路径存储到NSUserDefaults或数组然后获取这些项目填充我的表视图。或者还有比NSUserDefaults更容易实现的更好的选择吗?

1 个答案:

答案 0 :(得分:0)

如果有比这更多的数据,可以尝试一个sqlite数据库。如果它只是这些数据,那么为它创建一个数据库似乎太过分了。您可以使用与此类似的内容将阵列保存到NSUserDefaults:

[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObject:@"sd"] forKey:@"k"];
[[NSUserDefaults standardUserDefaults] synchronize];

NSArray *array = [[NSUserDefaults standardUserDefaults] objectForKey:@"k"];
if( array == nil )  {
    //No data
}
else {
    for( NSString *string in array ) {
        NSLog(@"String: %@",string);
    }
}

回退是,如果您想在数组中存储自定义对象,则需要手动编码对象,详见此post