2017-09-28 152 views
0

我有一本字典。對於例如wholeDict。 ,其中不包含。的字典。我想創建兩個詞典,說dict1 & dict2包含等於no。來自wholeDict的字典。在目標-c如何執行此操作?任何人有解決辦法 在此先感謝。將字典分成兩個字典

+2

字典沒有在Objective-C下令,你怎麼想決定哪些元素將包含一半? – the4kman

+2

「包含來自wholeDict的同等字典數」如果字典的nb是3?什麼'wholeDict'看起來像?你可以得到'allKeys',然後「分配/分配」。什麼決定把子字典放在'dict1'或'dict2' – Larme

+0

假設我想在dict1中插入多達100個wholeDict的元素,並且所有剩下的在dict2中,那麼該怎麼辦? – ykumbhar

回答

0

大概有幾個方法可以做到這一點,但一個選項是枚舉「整體」和備用哪個字典您將追加到:

- (void)splitDicts 
{ 
    // This is just me creating sample data for the "whole" dictionary. 
    NSMutableDictionary *whole = [[NSMutableDictionary alloc] init]; 
    for (int i = 0; i < 10; i++) 
    { 
     NSString *key = [NSString stringWithFormat:@"%d", i]; 
     NSString *value = [NSString stringWithFormat:@"Valus is %d", i]; 
     whole[key] = value; 
    } 

    NSMutableDictionary *dict1 = [[NSMutableDictionary alloc] init]; 
    NSMutableDictionary *dict2 = [[NSMutableDictionary alloc] init]; 
    __block BOOL addToDict1 = YES; 

    [whole enumerateKeysAndObjectsUsingBlock:^(id _Nonnull key, id _Nonnull obj, BOOL * _Nonnull stop) { 
     if (addToDict1) 
     { 
      dict1[key] = obj; 
     } 
     else 
     { 
      dict2[key] = obj; 
     } 
     addToDict1 = !addToDict1; 
    }]; 
}