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