5

私は新しい iPhone 開発者です。あなたの助けが必要です。

キーと値で配列を作成し、xcodeでフェッチする方法を教えてくれます。

4

4 に答える 4

12

これはNSMutableDictionaryです。サンプルコードを検索できます。例:dictを作成する

NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];
[dictionary setObject:@"object1" forKey:@"key1"];

Dictのすべてのキーと値を印刷します。

for (NSString* key in [dictionary allKeys]) {
   NSLog(@"key: %@, value: %@", key, [dictionary objectForKey:key]);
}
于 2012-11-15T10:40:06.033 に答える
5

NSDictionaryorを使用してNSmutabledictionaryこれを実現できます。 and を使用する必要はありませんNSArray。これがどのように機能するかの例です。

  NSMutableDictionary *dict = [[NSMutableDictionary alloc] init]; // Don't always need this 
  // Note you can't use setObject: forKey: if you are using NSDictionary
  [dict setObject:@"Value1" forKey:@"Key1"];
  [dict setObject:@"Value2" forKey:@"Key2"];
  [dict setObject:@"Value3" forKey:@"Key3"];

次に、実行するだけでキーの値を取得できます。

  NSString *valueStr = [dict objectForKey:@"Key2"];

これにより、valueStr 文字列の Value2 の値が得られます。

オブジェクトを none Mutable ディクショナリに追加するにNSDictionary

 NSDictionary *dict2 = [[NSDictionary alloc] initWithObjectsAndKeys:@"Value1", @"Key1", @"Value2", @"Key2", nil];

と同じ方法で取得するだけNSMutableDictionaryです。2つの違いは、Mutable辞書は作成後に変更できるため、 でオブジェクトを追加したり、 でsetObject:forKeyオブジェクトを削除したりできるのremoveObjectFroKey:に対し、可変でない辞書は変更できないため、作成されると、作成されるまでそれを使い続けることができます。リリースされているため、オブジェクトの追加または削除はありません。

お役に立てれば。

于 2012-11-15T10:47:47.037 に答える
2

それはまさにNSDictionary/NSMutableDictionaryが行うことです。

NSMutableDictionary *myDictionary = [[ NSMutableDictionary alloc] init];
[ myDictionary setObject:@"John" forKey:@"name"];
[ myDictionary setObject:@"Developer" forKey:@"position"];
[ myDictionary setObject:@"1/1/1984" forKey:@"born"];

違いは、可変の1つでは、作成後にエントリを追加/変更できますが、もう1つではできないことです。

于 2012-11-15T10:43:30.410 に答える
0

オブジェクトを追加する必要がなくなった場合は、可変でない辞書を作成できます。

NSDictionary* dict= @{ @"key1" : @"value1" , @"key2" : @"value2" };

配列であるキーと値のペアが必要ない場合:

NSArray* array= @[ @"value1" , @"value2", @"value3" ];
于 2012-11-15T11:07:00.040 に答える