删除存储在nsuserdefault中的nsdata

时间:2016-04-08 11:34:59

标签: ios nsuserdefaults nsdata

我将图像数据(NSData)保存为NSUserDefault中的数组,同时重新启动应用并尝试从存储在NSUserDefault中的数组中删除图像数据,数据不是删除..

2 个答案:

答案 0 :(得分:1)

假设您已经存储了带有密钥" imagedata'的图像数据。像下面的代码行

[[NSUserDefaults standardUserDefaults] setObject:imageData forKey :@"imageData"];

如何删除为key imageData存储的数据如下代码行:

 NSMutableArray *arr= [[NSUserDefaults standardUserDefaults] objectForKey:@"imageData"]]mutableCopy];// If array is not mutable then make it mutable then remove
[arr removeObjectAtIndex:index];
[[NSUserDefaults standardUserDefaults] setObject:arr forKey :@"imageData"];

检查代码后更新我的答案 的更新

尝试数组的方法removeObjectIdenticalTo

答案 1 :(得分:0)

//sample data
NSArray *photos = [NSArray arrayWithObjects:@"photo1.png",@"photo2.png",@"photo2.png", nil];

//To save the array of data
NSUserDefaults *userPreferences = [NSUserDefaults standardUserDefaults];
[userPreferences setObject:photos forKey:@"FbPhoto"];
[userPreferences synchronize];

//To remove
[userPreferences removeObjectForKey:@"FbPhoto"];
[userPreferences synchronize];