在使用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)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 标签: 我的笔记 ---学习资料:http://javascript.ruanyifeng.com/ 1. 导论 ...
    暗夜的怒吼阅读 4,276评论 0 1
  • 第1章 JavaScript 简介 JavaScript 具备与浏览器窗口及其内容等几乎所有方面交互的能力。 欧洲...
    力气强阅读 4,878评论 0 0
  • 前言 人生苦多,快来 Kotlin ,快速学习Kotlin! 什么是Kotlin? Kotlin 是种静态类型编程...
    任半生嚣狂阅读 26,417评论 9 118
  • 当在键盘上敲下这几个字的时候 就莫名打出来的是三月末 也许是三月对于我的意义很大吧 才能让我如此印象深...
    小小豆芽君阅读 2,206评论 0 2
  • 1. 传说溺水而亡的人,魂魄会永远在那条河中游荡,被困在河里,不得轮回,一生飘荡。若要入轮回,必须找到替身,否则,...
    子夜晨星阅读 4,729评论 4 13