开发者社区> 问答> 正文

NSMutableDictionary 为什么不能以NSNumber为key

我用NSNumber为key,然后插入一个对象到NSMutableDictionary中:

            NSNumber * key = [NSNumber numberWithInt:tmpWheel.WheelId];
            [allWheels setObject:tmpWheel forKey:key];
然后我在其他地方用遍历这个NSMutableDictionary

for (NSNumber * key in [allWheels allKeys])
        {
            NSLog(@"key : %@", key);
            Wheels * tmpWheel = [allWheels objectForKey:key];
            NSLog(@"value : %@",tmpWheel.WheelName);
        }

竟然是null,拿不出value,我无语。什么原因??
我用NSString作为key的时候是可以的拿出来的!

展开
收起
a123456678 2016-07-20 15:22:37 2064 0
1 条回答
写回答
取消 提交回答
  •  NSNumber *n = [NSNumber numberWithFloat:1.0f];
        NSNumber *nn = [NSNumber numberWithFloat:2.0f];
        
        NSMutableDictionary *d = [NSMutableDictionary dictionary];
        [d setObject:@"1" forKey:n];
        [d setObject:@"2" forKey:nn];
        
        for (NSNumber *k in [d allKeys]) {
            NSLog(@"%@", [d objectForKey:k]);
        }
    2019-07-17 19:58:56
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载