5

我是一名新的 Iphone 开发人员,我需要你的帮助,

任何人都为我提供了创建带有键和值的数组,以及如何在 xcode 中获取。

4

4 回答 4

12

这是 NSMutableDictionary。您可以搜索示例代码。例如:创建字典

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

打印字典的所有键和值:

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

您可以使用NSDictionaryorNSmutabledictionary来实现这一点,您不需要使用 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 的值。

将对象添加到非可变字典NSDictionary中即可

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

然后只需以与NSMutableDictionary. 两者之间的区别在于,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"];

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

于 2012-11-15T10:43:30.410 回答
0

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

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

如果您不需要作为数组的键值对:

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