独狼

导航

OC中intValue要注意的地方

  在程序中,发现一个问题,写了个例子,如下: 

         NSDictionary * dict = [[NSDictionary alloc] init];
        NSString * str = [dict objectForKey:@"key"];
        NSLog(@"%d",[str intValue]);

  就是有个空字典,然后从里面取一个不存在的 key 对应的值,用字符串接收,再用intValue转换成 int 类型.最后得到的值为   

  郁闷了一会,查看文档发现有这样一句话:Returns 0 if the receiver doesn’t begin with a valid decimal text representation of a number.

  豁然开朗,大致意思是:如果消息的接收者(如上面的str,这是OC中的叫法)不是以有效的十进制符号开头来表示一个数字,就会返回 0.

  发现bug,改正bug,才能成长

posted on 2014-09-28 18:02  独狼  阅读(682)  评论(0编辑  收藏  举报