控制台输出 NaN

一、提出问题:

今天在调试一个bug时,发现当我在控制台里打印一个 CGFloat 类型的变量后,会输出 NaN 样的字符。

控制台输出 NaN_第1张图片

二、解决问题 :

仔细研究后发现,原来是我获取的 UIImage 对象 等于 nil 了,以至于 image.size.height 值 和 image.size.width 的值,都拿不到了;
那么image的宽高比 计算出来的 imageView 的 imageHeight 的值也就 成 NaN 了。到这里大家都会想到的解决办法是,对 image 是否为 nil 做判断。
而我要说的是另外一种方式,一个 判断 int 、float 、 double 类型的变量是否是 NaN 的函数,isnan(); 有了这个函数,我们能做更多的处理。

float f = NaN;
if (isnan(f)) {
    //我是 nan 
}

你可能感兴趣的:(objective-c)