I have the folloving dictionary which has many sub dictionaries.
How can I remove objects where isChanged = 1
from parent dictionary using NSPredicate
?
{
"0_496447097042228" = {
cellHeight = 437;
isChanged = 1;
};
"100000019882803_193629104095337" = {
cellHeight = 145;
isChanged = 0;
};
"100002140902243_561833243831980" = {
cellHeight = 114;
isChanged = 1;
};
"100004324964792_129813607172804" = {
cellHeight = 112;
isChanged = 0;
};
"100004324964792_129818217172343" = {
cellHeight = 127;
isChanged = 0;
};
"100004324964792_129835247170640" = {
cellHeight = 127;
isChanged = 1;
};
}
As a simple alternative to using NSPredicate, you can use the NSDictionary's built in
keysOfEntriesPassingTest:
This answer assumes "isChanged" is an NSString and the value 0 or 1 is an NSNumber:The returned set is a list of keys that pass the test. From there, you could remove all that matched with:
[dict removeObjectsForKeys:[theSet allObjects]];
I solved my problem in the following way:
when you have array of dictionary than you can remove selected category's data using NSPredicate
here is code
But in your problem data is not in array it is in dictionary
your data should be in this format