繁体   English   中英

从NSUserdefaults删除NSDictionary

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM