【问题标题】:NSDictionary returning nilNSDictionary 返回零
【发布时间】:2014-09-11 18:40:58
【问题描述】:

我有一个NSMutableDictionary 和一个NSDictionary 作为值,它们的键设置为一年。

所以当我调试我的代码时,我的 _codes 变量,NSMutableDictionary 返回 self->_codes的打印说明:

{
    2013 =     {
        Depth = "21.5";
        RValue = R59;
        year = 2013;
    };
    2014 =     {
        Depth = "22.25";
        RValue = R60;
        year = 2014;
    };
}

但是当我尝试通过以下方式访问它时:

NSDictionary *test = [_codes objectForKey:@"2014"];

test 始终为零。

有人知道为什么吗?

【问题讨论】:

  • 从转储中不清楚您的键值是 NSString 还是 NSNumber 值。

标签: ios objective-c nsdictionary


【解决方案1】:

键的类型是 NSNumber,而不是 NSString

试试:

NSDictionary *test = [_codes objectForKey:@2014];

或者,更简洁和现代:

NSDictionary *test = _codes[@2014];

【讨论】:

  • 这很有效,谢谢!我之前试过NSDictionary *test = [_codes objectForKey:2014]; 没有@
【解决方案2】:

试试:

[_codes objectForKey:[NSNumber numberFromInt:2014]];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-24
    相关资源
    最近更新 更多