2013-09-11 2 views
-4

У меня есть NSMutableDictionary, который возвращается с сервера в формате JSON.Удаление ключа из nsmutableDictionary в ios

Из этого я должен удалить один ключ, который является нулевым и не используется. Я должен удалить ключ и значение

Как мы можем удалить этот ключ ....

Ключевые значения

appointmentType = 1; 
description = Right; 
endDate = "2013-09-11"; 
endTime = "02:30:00"; 
flgHolidaySchedule = 1; 
flgSiteSetupSchedule = 1; 
therapistId = "[email protected]"; 
uri = "<null>"; 

Теперь я должен удалить Uri ключ из словаря .. ..

+1

Ну, почему бы не прочитать [NSMutableDictionary Class Reference] (https://developer.apple.com/library/ mac/documentation/Cocoa/Reference/Foundation/Classes/NSMutableDictionary_Class/Reference/Reference.html) – Desdenova

ответ

0

Итерации через словарь и поиск любых нулевых записей и их удаление.

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 должен иметь все ненулевые элементы в оригинальном словаре.

+0

Мое требование не об удалении нулевых значений .... У меня есть ключ из словаря .... если я распечатаю все ключи словаря удаленный ключ не должен печататься ... – sudheer

0

Попробуйте с помощью следующего кода:

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 
+0

спасибо .... Но моя просьба irement не об удалении нулевых значений .... Я удаляю ключ из словаря .... если я распечатаю все ключи словаря, удаленный ключ не должен быть напечатан ... – sudheer

0

Это действительно просто:

[yourDictionaryFromJSON removeObjectForKey:@"uri"]; 
+0

Мое требование не об удалении нулевых значений .. ..Я удаляю ключ из словаря .... если я распечатаю все ключи словаря, удаленный ключ не должен печататься ... – sudheer

Смежные вопросы