0

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

4

1 回答 1

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);
    }
}

缺点是,如果您想在数组中存储自定义对象,则需要手动对对象进行编码,详见这篇文章

于 2013-04-09T13:10:27.483 回答