我想删除存储在 NSUserdefaults 中的 NSDictionary。 我试过这个:
[NSUserDefaults removeObjectForKey:@"bookmarks"];
但是,我所有的最爱都被删除了
如何删除一个收藏夹?
我在这里发现了同样的问题 - Remove object of NSUserDefault by tableview cell
谢谢大家
最佳答案
获取书签字典,创建一个可变副本,以便您可以修改它:
NSMutableDictionary *bookmarks = [[userDefaults objectForKey:@"bookmarks"] mutableCopy];
删除你想要的:
[bookmarks removeObjectForKey:@"Bookmark be gone"];
把书签放回去:
[userDefaults setObject:bookmarks forKey:@"bookmarks"];
和同步:
[userDefaults synchronize];
编辑 根据 OP 的评论,听起来它可能在数组中,而不是字典中。原理是一样的:
获取书签数组,创建一个可变副本,以便您可以修改它:
NSMutableArray *bookmarks = [[userDefaults objectForKey:@"bookmarks"] mutableCopy];
删除你想要的那个(找到你可能需要迭代数组的对象的索引。参见 this question ):
[bookmarks removeObjectAtIndex:5];
把书签放回去:
[userDefaults setObject:bookmarks forKey:@"bookmarks"];
和同步:
[userDefaults synchronize];
关于ios - 从 NSUserdefaults 中删除 NSDictionary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35778678/