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