0

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

回答

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

+0

但是,我如何确保总是有100个项目在数组中,他们不断取代最近的新的? – user2261732 2013-04-09 13:18:49

+0

从NSUserDefaults获取数组后,将其更改,并从中创建一个可变数组。当你写回来时,它会覆盖旧的数组。这取决于数组包含的内容,上面的代码将存储您提供的任何基本NSObject派生类。 – user352891 2013-04-09 13:34:22