如何使用NSDictionary的方法添加对象和键?

时间:2011-08-18 18:37:14

标签: iphone objective-c cocoa-touch cocoa nsdictionary

我想创建一个具有以下值的NSDictionary,其中符号& id是我的钥匙。

我想将“AAPL”映射到符号 我想将100映射到id。

"AAPL":symbol
"100":id

"GOOG":symbol
"101":id

"YHOO":symbol
"102":id

如何使用

创建这些值的字典
  

dictionaryWithObjectsAndKeys

3 个答案:

答案 0 :(得分:2)

哪一个是关键,哪一个是有价值的?假设你想要地图符号为id,那么

NSDictionary *myDict = [NSDictionary dictionaryWithObjectsAndKeys:
                         @"100", @"AAPL", // 100 is object, AAPL is key
                         @"101", @"GOOG",
                         @"102", @"YHOO",
                         // etc...
                         nil];

如果ID是数字,请使用

NSDictionary *myDict = [NSDictionary dictionaryWithObjectsAndKeys:
                         [NSNumber numberWithInt: 100], @"AAPL",
                         // etc...
                         nil];

如果,OTOH,您想要将ID映射到符号,然后反转条目:

NSDictionary *myDict = [NSDictionary dictionaryWithObjectsAndKeys:
                         @"AAPL", @"100",
                         @"GOOG", @"101"
                         // etc...
                         nil];

答案 1 :(得分:0)

假设你想使用id作为键,使用符号作为值,这应该有效:

 NSDictionary *stocks = [NSDictionary dictionaryWithObjectsAndKeys:@"AAPL", @"100", @"GOOG", @"101", @"YHOO", @"102", nil];

答案 2 :(得分:0)

您描述的数据很可能由字典数组表示,因为每个条目都会重复键。

NSArray *array = [NSArray arrayWithObjects:[NSDictionary dictionaryWithObjectsAndKeys:@"APPL", @"symbol", @"100", @"id", nil], [NSDictionary dictionaryWithObjectsAndKeys:@"GOOG", @"symbol", @"101", @"id", nil], [NSDictionary dictionaryWithObjectsAndKeys:@"YHOO", @"symbol", @"103", @"id", nil], nil];