从ios中的nsmutableDictionary中删除一个键
Posted
技术标签:
【中文标题】从ios中的nsmutableDictionary中删除一个键【英文标题】:Removing a key from nsmutableDictionary in ios 【发布时间】:2013-09-11 06:55:01 【问题描述】:我有一个NSMutableDictionary
,它以 JSON 格式从服务器返回。
从中我必须删除一个为空且不使用的键。我必须同时删除键和值
我们怎样才能删除那个键....
关键值是
appointmentType = 1;
description = Right;
endDate = "2013-09-11";
endTime = "02:30:00";
flgHolidaySchedule = 1;
flgSiteSetupSchedule = 1;
therapistId = "maheswaran@excelgoodies.com";
uri = "<null>";
现在我必须从字典中删除 uri Key....
【问题讨论】:
来吧,为什么不阅读NSMutableDictionary Class Reference 【参考方案1】:遍历字典并查找任何空条目并将其删除。
NSMutableDictionary *prunedDictionary = [NSMutableDictionary dictionary];
for (NSString * key in [yourDictionary allKeys])
if (![[yourDictionary objectForKey:key] isKindOfClass:[NSNull class]])
[prunedDictionary addObject:[yourDictionary objectForKey:key] forKey:key];
之后,prunedDictionary 应该包含原始字典中的所有非空项。
【讨论】:
我的要求不是删除空值......我已经从字典中删除键......如果我打印字典的所有键,则不能打印删除的键......【参考方案2】:试试下面的代码:
NSMutableDictionary *myTemDictionary = [NSMutableDictionary dictionary];
for (NSString * key in [yourDictionaryFromJSON allKeys])
if (![[yourDictionaryFromJSON objectForKey:key] isKindOfClass:[NSNull class]])
[myTemDictionary addObject:[yourDictionary objectForKey:key] forKey:key];
NSLog(@"%@", myTemDictionary); // check it in console your dictionary has not any NULL value
【讨论】:
谢谢....但我的要求不是删除空值....我已经从字典中删除键....如果我打印字典的所有键,则删除的键不能是印刷...【参考方案3】:其实很简单:
[yourDictionaryFromJSON removeObjectForKey:@"uri"];
【讨论】:
我的要求不是删除空值......我已经从字典中删除键......如果我打印字典的所有键,则不能打印删除的键......以上是关于从ios中的nsmutableDictionary中删除一个键的主要内容,如果未能解决你的问题,请参考以下文章
无法从 NSMutableDictionary iOS 应用程序中检索 XMPP JID。
如何从 nsmutabledictionary 中删除键当该键的值在 ios 中为空或 null 时?
单例、NSMutableDictionary 和 plist
从 NSMutableDictionary 构建 NSMutableArray 导致 NSException
如何从两个 plist 中添加 NSMutableDictionary 中的信息?
iOS:Xcode 4.2:Leaks Instrument 说我的 NSMutableArray 和 NSMutableDictionary 有泄漏,但我看不到在哪里