辞書と配列の間にはかなり大きな違いがあります。ディクショナリは、インスタンス化時に指定したキーに関連するデータエントリを格納します。例えば:
NSDictionary *myDictionary = [[NSDictionary alloc] initWithObjectsAndKeys:@"object1",@"key1",@"object2",@"key2", nil];
これは辞書を割り当て/初期化し、「key1」に「object1」、「key2」に「object2」を設定するため、「key1」の値を要求する場合は、次の方法でアクセスできます。
NSLog(@"%@",[myDictionary objectForKey:@"key1"]);
ディクショナリ内のオブジェクトは、配列、ディクショナリ、ブール値、データ、日付、数値、および文字列です。
一方、配列は、配列内のデータインデックスによってデータを格納します。
NSArray *myArray = [[NSArray alloc] initWithObjects:@"object1",@"object2",@"object3", nil];
次に、次のように要求することで、配列内から特定のデータにアクセスできますobjectAtIndex:
。
NSLog(@"%@",[myArray objectAtIndex:1]);
配列の最初のインデックスは常に「0」であるため、これは「object2」を返します。