我有一个NSDictionary
记录这个:
address = "30 East 23rd Street";
address1 = "30 East 23rd Street";
address2 = "";
age = 32;
alert = "";
"blood_pressure_1" = "";
"blood_pressure_2" = "";
bmi = "";
我想创建一个新的NSDictionary,它只包含旧的几个键,例如age
, bmi
和alert
。我该怎么做呢?
这可能更简单一些:
NSArray *keys = [NSArray arrayWithObjects:@"address", @"address1", @"address2", nil];
NSDictionary *subset = [NSDictionary dictionaryWithObjects:
[fullDictionary objectsForKeys:keys notFoundMarker:@""]
forKeys:keys];
NSDictionary *dictionary = [[NSDictionary alloc] initWithObjectsAndKeys:
[oldDict objectForKey:@"address"], @"address",
[oldDict objectForKey:@"address1"], @"address1",
[oldDict objectForKey:@"address2"], @"address2",
nil];
NSMutableDictionary* d = [NSMutableDictionary dictionaryWithDictionary: bigDict];
[d removeObjectsForKeys: [NSArray arrayWithObjects: @"address", @"age", nil]];
更容易
NSDictionary *newDictionary = [oldDictionary dictionaryWithValuesForKeys:@[@"age", @"bmi", @"alert"]];