Jak przechodzić przez wszystkie obiekty w NSMutableDictionary niezależnie od kluczy?
Odpowiedzi:
Tak wyglądałby standardowy sposób
for(id key in myDict) {
id value = [myDict objectForKey:key];
[value doStuff];
}
id key in myDict.allKeys
) Zamiast słownika. Pozwala to na zmianę słownika, co może być tym, co chcesz zrobić.
możesz użyć
[myDict enumerateKeysAndObjectsUsingBlock: ^(id key, id obj, BOOL *stop) {
// do something with key and obj
}];
jeśli twój docelowy system operacyjny obsługuje bloki.
Możesz użyć, [dict allValues]
aby uzyskać jedną NSArray
ze swoich wartości. Pamiętaj, że nie gwarantuje to żadnego porządku między połączeniami.
w szybkim wyliczeniu
for(id key in myDictionary) {
id value = [myDictionary objectForKey:key];
// do something with key and obj
}
w blokach:
[myDictionary enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
// do something with key and obj
}];
Nie musisz przypisywać wartości do zmiennej. Możesz uzyskać do niego bezpośredni dostęp za pomocą myDict[key]
.
for(id key in myDict) {
NSLog(@"Key:%@ Value:%@", key, myDict[key]);
}
for (id key, value in myDict)
to byłoby idealne.