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,才能成长
文章来自:http://www.cnblogs.com/goodheart/p/3998769.html