开发者社区 问答 正文

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 2205 分享
分享
版权
举报
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 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
问答地址: