簡體   English   中英

從另一個NSDictionary創建NSDictionary?

[英]Create NSDictionary from another NSDictionary?

我有一個記錄這個的NSDictionary

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

我想創建一個新的NSDictionary,它只包含舊的一些鍵,例如agebmialert 我怎樣才能做到這一點?

這可能會更容易一些:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM