Ios 永久保存喜爱的视频
我想要的是:Ios 永久保存喜爱的视频,ios,objective-c,nsuserdefaults,preferences,Ios,Objective C,Nsuserdefaults,Preferences,我想要的是: 让posibilite从表中选择一个视频并将其添加到收藏夹阵列。我希望有这个视频,即使关闭应用程序 我所尝试的: - (IBAction)fav:(id)sender { if (f==0) { [favoriteArray addObject:[[stories copy] objectAtIndex:indexArray]]; UIImage *btnImage = [UIImage imageNamed:@"fav_selecte
- 让posibilite从表中选择一个视频并将其添加到收藏夹阵列。我希望有这个视频,即使关闭应用程序
- (IBAction)fav:(id)sender {
if (f==0) {
[favoriteArray addObject:[[stories copy] objectAtIndex:indexArray]];
UIImage *btnImage = [UIImage imageNamed:@"fav_selected.png"];
//[self.favorite setImage:btnImage forState:UIControlStateNormal];
NSMutableArray *url = [[NSMutableArray alloc] initWithArray:[[NSUserDefaults standardUserDefaults] arrayForKey:@"url"]];
NSMutableArray *title = [[NSMutableArray alloc] initWithArray:[[NSUserDefaults standardUserDefaults] arrayForKey:@"title"]];
NSMutableArray *picture = [[NSMutableArray alloc] initWithArray:[[NSUserDefaults standardUserDefaults] arrayForKey:@"picture"]];
[url addObjectsFromArray:[[stories copy] objectAtIndex:indexArray]];
// [title addObjectsFromArray:data];
// [picture addObjectsFromArray:data];
[[NSUserDefaults standardUserDefaults] setObject:url forKey:@"url"];
[[NSUserDefaults standardUserDefaults] setObject:title forKey:@"title"];
[[NSUserDefaults standardUserDefaults] setObject:picture forKey:@"picture"];
//f=1;
}
但是stories是一个包含对象的可变数组,每个对象都是一个包含3个键的NSDictionary,在url中,我拥有使用此方法后stories中的所有对象。您需要调用:
[[NSUserDefaults standardUserDefaults] synchronize];
将更改写入磁盘
您似乎每次都在覆盖相同的值。考虑存储对象数组而不是每个类型。例如
NSArray *temp = @[
@{@"url":@"", @"title":@"", @"picture":@""},
@{@"url":@"", @"title":@"", @"picture":@""}
];
[[NSUserDefaults standardUserDefaults] setObject:temp forKey:@"favVideos"];
你的标题是NSBundle,但你的问题是NSBundle,那么你想做什么呢?我想永久保存我最喜欢的视频,即使我关闭了appDe,你发布的代码对于保存一个项目来说是正确的。我编辑了我的问题,你只需将整个数组保存在
NSUserDefaults
中即可。但是,当您从NSUserDefaults
中检索它时,它是不可变的,因此您必须对它进行mutableCopy
。