如何在xcode中创建数组键和值?

时间:2012-11-15 10:38:18

标签: objective-c nsdictionary

我是新的Iphone开发者,我需要你的帮助,

任何人都可以创建带有键和值的数组,以及如何获取xcode。

4 个答案:

答案 0 :(得分:12)

这是NSMutableDictionary。您可以搜索示例代码。 例如:Create dict

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

打印Dict的所有键和值:

for (NSString* key in [dictionary allKeys]) {
   NSLog(@"key: %@, value: %@", key, [dictionary objectForKey:key]);
}

答案 1 :(得分:5)

您可以使用NSDictionaryNSmutabledictionary来实现此目的,您无需使用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的值。

将对象添加到无Mutable字典NSDictionary只需执行

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

然后以与NSMutableDictionary相同的方式检索它。两者之间的区别在于,Mutable字典可以在创建后修改,因此可以使用setObject:forKey向其添加对象,并使用removeObjectFroKey:删除对象,而无可变字典不能修改后,一旦它被创建你坚持它,直到它被释放,所以没有添加或删除对象。

希望这有帮助。

答案 2 :(得分: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"];

不同之处在于,在可变项中,您可以在创建条目后添加/修改条目,但不能在其他条目中添加/修改条目。

答案 3 :(得分:0)

如果您不再需要添加对象,则可以创建非可变字典:

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

如果您不需要键值对,那就是数组:

NSArray* array= @[ @"value1" , @"value2", @"value3" ];