[英]Remove NSDictionary from NSUserdefaults
我想删除存储在NSUserdefaults中的NSDictionary。 我尝试了这个:
[NSUserDefaults removeObjectForKey:@"bookmarks"];
但是,我所有的收藏夹都被删除了
如何删除一个收藏夹?
我在这里找到了相同的问题- 通过tableview单元格删除NSUserDefault的对象
谢谢大家
获取书签字典,创建可变副本 ,因此您可以对其进行修改:
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];
删除您想要的对象(以找到可能需要迭代该数组的对象的索引。请参阅此问题 ):
[bookmarks removeObjectAtIndex:5];
放回书签:
[userDefaults setObject:bookmarks forKey:@"bookmarks"];
并同步:
[userDefaults synchronize];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.