永久保存收藏的视频

时间:2015-02-20 08:46:42

标签: ios objective-c nsuserdefaults preferences

我想要的是什么:

  • 让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;
    }

但是故事是一个带有对象的可变数组,每个对象都是一个带有3个键的NSDictionary,而在url中,我拥有了这个方法后故事中的所有对象。

1 个答案:

答案 0 :(得分:0)

您需要致电:

[[NSUserDefaults standardUserDefaults] synchronize];

将更改写入磁盘。

您似乎每次都会覆盖相同的值。考虑存储一个对象数组而不是每个类型。 E.g。

NSArray *temp = @[ 
                  @{@"url":@"", @"title":@"", @"picture":@""},
                  @{@"url":@"", @"title":@"", @"picture":@""}
                 ];

[[NSUserDefaults standardUserDefaults] setObject:temp forKey:@"favVideos"];