我有一個主NSMutableDictionary包含其他人的集合NSMutableDictionary。iOS - 刪除存儲在主NSDictionary中的所有NSDictionaries上包含密鑰的所有條目
事情是這樣的:
NSMutableDictionary *subDict1 = [NSMutableDictionary dictionaryWithObjectsAndKeys:
obj1, @"name",
obj2, @"color",
nil];
NSMutableDictionary *subDict2 = [NSMutableDictionary dictionaryWithObjectsAndKeys:
obj3, @"name",
obj4, @"color",
obj5, @"address",
obj6, @"phone",
obj7, @"color",
obj8, @"parent",
nil];
NSMutableDictionary *subDict3 = [NSMutableDictionary dictionaryWithObjectsAndKeys:
obj0, @"name",
obj9, @"parent",
objA, @"site",
objB, @"surname",
objC, @"label",
nil];
這些子字典可以有不同數量的條目和按鍵可能會有所不同。有些人可能有同名的鑰匙。
它們存儲在主詞典是這樣的:
NSMutableDictionary *mainDict = [NSMutableDictionary dictionaryWithObjectsAndKeys:
subDict1, @"1",
subDict3, @"3",
subDict2, @"2",
nil];
我想在一杆,刪除具有特定鍵所有子字典中的所有條目。
我知道我可以遍歷字典和子字典,但我也知道字典有聰明的方法來做到這一點使用謂詞和其他的東西,但我沒有看到如何。我試圖找到,因爲這種方法會運行有點棘手,必須儘快做到這一點,我不確定是否正常迭代循環或任何將足夠快...
任何線索?謝謝。
我不確定這會起作用。假設我這樣做[self removeKey:@「name」fromDictonary:mainDict];你的第一個喜歡你創建一個mainDict的鍵的數組,我想刪除的對象與這些鍵無關。我想要刪除的對象是存儲在mainDict中的子字典的條目... – SpaceDog
我認爲它適用於這種情況:第一個條件將失敗,然後我們將在一個或多個sub字典。對包含密鑰的子字典進行遞歸調用將執行刪除操作。 – danh
粘貼並放棄它。 – danh