在使用TablView时碰到Nan错误


前几天做项目的时候遇到一个奇葩的问题,程序本来运行得好好的,然后突然就崩了,报了一个Nan错误

后来打了一大堆断点发现数据源方法返回cell高度的时候出现了Nan类型,结合该cell对应的模型才发现是网络数据返回了一个 0 数据,而我把这个数据作为除数来计算了,因此出现了Nan类型。

这种错误是在float经过函数运行出了不是数字的值,nan的意思就是not a number

后来解决了问题再去百度的时候发现出现Nan错误的不止除以0这种情况,还有以下几种(以后要多注意一下)

1.除以0
2.sizeWithFont的字符串为nil
3.数学函数不正确运算
解决方法除了排除数据源以及运算问题之外,还可以用isnan()函数判断是不是Nan类型

if (!isnan(_x)) {
  return _x;
}```

---
[文中部分内容引自这里](http://www.minroad.com/?p=403)

你可能感兴趣的:(在使用TablView时碰到Nan错误)