对于NSMutableDictionary *mDict  ,为什么不能这样插进一个整数?
[mDict setValue:8 forKey:@"threadReadCount"];
我现在只能把整数转化成字符串,再存进去,使用时,也是作为字符串取出来,再转化为整数使用,麻烦。
请问不能直接使用整数吗?

解决方案 »

  1.   

    因为在NSMutableDictionary中所有的元素必须是对象类型(键和值都得是对象类型),如果你存个整形8进入怎么调用方法、?
      

  2.   

     但是我使用对象类型NSNumber* 也出现问题,导致程序退出,只有NString,才搞定,这是什么原因呢?
      

  3.   

    NSNumber是肯定不会有问题的,问题是你的怎么使用的?上代码吧
      

  4.   

    NSDictionary or NSMutableDictionary 要求存储的键值对的值是对象类型,所以无法存储属于int类型的值类型。但你可以将int类型包装后再存储。如
    [mDict setObject:@(8)  forKey:@"threadReadCount"];  ///////@(8) 之后的类型为NSNumber 类型
    存储NSNumber类型是不会有问题的。再检查一下你的代码吧。
      

  5.   

    [mDict setValue:[NSNumber numberWithInt:8] forKey:@"threadReadCount"];应该是可以的