从 NSUserdefaults 中删除 NSDictionary
Remove NSDictionary from NSUserdefaults
我想删除存储在 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];
EDIT 根据 OP 的评论,听起来它可能在数组中,而不是字典中。原理是一样的:
获取书签数组,创建一个可变副本,以便您可以对其进行修改:
NSMutableArray *bookmarks = [[userDefaults objectForKey:@"bookmarks"] mutableCopy];
删除你想要的那个(找到你可能需要迭代数组的对象的索引。参见this question):
[bookmarks removeObjectAtIndex:5];
放回书签:
[userDefaults setObject:bookmarks forKey:@"bookmarks"];
并同步:
[userDefaults synchronize];
我想删除存储在 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];
EDIT 根据 OP 的评论,听起来它可能在数组中,而不是字典中。原理是一样的:
获取书签数组,创建一个可变副本,以便您可以对其进行修改:
NSMutableArray *bookmarks = [[userDefaults objectForKey:@"bookmarks"] mutableCopy];
删除你想要的那个(找到你可能需要迭代数组的对象的索引。参见this question):
[bookmarks removeObjectAtIndex:5];
放回书签:
[userDefaults setObject:bookmarks forKey:@"bookmarks"];
并同步:
[userDefaults synchronize];