苦苦挣扎的客观c字典

时间:2013-12-09 17:50:50

标签: objective-c

有人可以帮我解决一个非常基本的问题。

我试图通过一个对象数组(_options)获取存储在字典中的值,属性部分介于1和3之间

_sections = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"1", @1, @"2", @2, @"3", @3, nil];
NSLog(@"sections=%lu",(unsigned long)[_sections count]);

for(Options *thisOption in _options)
    {
    NSString *key = [NSString stringWithFormat:@"%@", thisOption.section];
    NSLog(@"key=%@",key);
    NSNumber *count = [_sections objectForKey:key];
    NSLog(@"count=%@",count);
    }

我的日志显示sections = 3,key = 2但count =(null)

2 个答案:

答案 0 :(得分:1)

你可以在dictionaryWithObjectsAndKeys中反转你的对象和键的顺序:。

我建议使用文字来使代码更清晰:

(假设你的词典必须是可变的)

NSMutableDictionary *d = [NSMutableDictionary dictionaryWithDictionary:@{@"1": @1, @"2": @2}];

(如果忘记了可变部分)

NSDictionary *d = @{@"1": @1, @"2": @2};

答案 1 :(得分:1)

您的密钥是字符串@“2”,但字典中的密钥是NSNumber 2.这两个对象不一样,所以当您尝试使用该密钥查找对象时,它不会找到任何东西并返回nil。