从另一个NSDictionary创建NSDictionary



我有一个NSDictionary记录这个:

    address = "30 East 23rd Street";
    address1 = "30 East 23rd Street";
    address2 = "";
    age = 32;
    alert = "";
    "blood_pressure_1" = "";
    "blood_pressure_2" = "";
    bmi = "";

我想创建一个新的NSDictionary,它只包含旧的几个键,例如age, bmialert。我该怎么做呢?

这可能更简单一些:

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"]];

最新更新