Po prostu muszę o coś zapytać. Załóżmy, że mam słownik.NSDictionary - Należy sprawdzić, czy słownik zawiera parę klucz-wartość, czy też nie.
NSMutableDictionary *xyz=[[NSMutableDictionary alloc] init];
[xyz setValue:@"sagar" forKey:@"s"];
[xyz setValue:@"amit" forKey:@"a"];
[xyz setValue:@"nirav" forKey:@"n"];
[xyz setValue:@"abhishek" forKey:@"a"];
[xyz setValue:@"xrox" forKey:@"x"];
Teraz muszę sprawdzić w następujący sposób
[xyz nie zawiera klawisz "b" wartość ?? sparować, czy nie?
Pytanie brzmi Jak?
Drugie pytanie to Jak liczyć całkowitą parę klucz-wartość?
Powiedz na przykład NSInteger mCount=[xyz keyCounts];
+1 w rzeczywistości, dokumentacja prosto mówi tak: http://developer.apple.com/mac/library/documentation/Cocoa/Reference/ Podstawy/Klasy/NSDictionary_Class/Reference/Reference.html # // apple_ref/doc/uid/20000140-CBHCDIDJ –
Co się stanie, jeśli klucz jest w słowniku, a jego wartość wynosi 0? Czy nie pomylimy się błędnie, że klucz w ogóle nie występuje w słowniku? – jbx72487
@ jbx72487 Słowniki muszą zawierać obiekty; 'objectForKey:' zwraca "id" - wskaźnik do obiektu Objective-C. Jeśli przechowujesz liczby, muszą one być ["boxed"] (http://clang.llvm.org/docs/ObjectiveCLiterals.html) w [numer NSN] (https://developer.apple.com/library/ios /#documentation/Cocoa/Reference/Foundation/Classes/NSNumber_Class/Reference/Reference.html). Nawet jeśli NSNumber ma wartość zero lub false, nadal będzie prawidłowym wskaźnikiem, a powyższy kod dokładnie wykryje istnienie. –