NSDictonary
Wie sein ferner Verwandter, dem Array, ist auch ein Dictionary eine Auflistung von Werten, die gemeinsam verwaltet werden. Damit hören die Gemeinsamkeiten aber auch schon auf, denn ein Dictionary unterscheidet sich doch sehr von einem Array. Objekte werden nämlich nicht über ihre Position, sondern über einen eindeutigen Namen in der Auflistung angesprochen.
Ein Dictionary-Eintrag besteht immer aus einem Wertepaar. Dem Key und dem Value. Das Value in einem Dictionary kann ein beliebiger Objekttyp sein, der Key hingegen ist meistens vom Typ NSString, da es den Code übersichtlich hält. Und genau diese Vereinfachung möchte man mit einem Dictionary erreichen.
Wie sein ferner Verwandter, dem Array, ist auch ein Dictionary eine Auflistung von Werten, die gemeinsam verwaltet werden. Damit hören die Gemeinsamkeiten aber auch schon auf, denn ein Dictionary unterscheidet sich doch sehr von einem Array. Objekte werden nämlich nicht über ihre Position, sondern über einen eindeutigen Namen in der Auflistung angesprochen.
Ein Dictionary-Eintrag besteht immer aus einem Wertepaar. Dem Key und dem Value. Das Value in einem Dictionary kann ein beliebiger Objekttyp sein, der Key hingegen ist meistens vom Typ NSString, da es den Code übersichtlich hält. Und genau diese Vereinfachung möchte man mit einem Dictionary erreichen.
|
NSNumber
*n1 = [NSNumber numberWithInt:1203]; NSNumber *n2 = [NSNumber numberWithInt:3048]; NSNumber *n3 = [NSNumber numberWithInt:7645]; NSNumber *n4 = [NSNumber numberWithInt:4435]; NSNumber *n5 = [NSNumber numberWithInt:9298]; NSNumber *n6 = [NSNumber numberWithInt:7413]; NSDictionary *umsatz; umsatz = [NSDictionary dictionaryWithObjectsAndKeys: n1,@"Jan",n2,@"Feb",n3,@"Mrz",n4,@"Apr",n5,@"Mai",n6,@"Jun",nil]; // Ausgabe NSNumber *aNumber; aNumber= [umsatz objectForKey:@"Feb"]; NSLog( @"%@",aNumber); aNumber= [umsatz objectForKey:@"Jun"]; NSLog( @"%@",aNumber); |
Aber es ist nicht nur die Vereinfachung des Aufrufes, ein Objekt zu finden ist mit einem NSDictionary nicht nur besonders einfach, es ist auch besonders schnell. Diese Schnelligkeit entsteht durch die interne Verwaltung des Dictionary und durch die Art, wie die Daten im Speicher abgelegt werden. Als Programmierer hat man damit aber wenig zu tun, da diese Vorgänge automatisch geschehen und man sich nicht darum kümmern muss. Je nach Situation kann der Zugriff auf ein Objekt in einem Dictionay bis zu 100 mal schneller als ein vergleichbarer Zugriff in einem Array sein.
nächste Seite
nächste Seite