当你碰到tableview cell里报nan错误时的解决方法

最常见的是

Terminating app due to uncaught exception 'CALayerInvalidGeometry', reason: 'CALayer position contains NaN: [nan 14]'*** Call stack at first throw

这种错误是在float经过函数运行出了不是数字的值,nan的意思就是not a number。
主要常见原因:

1.除以
2.sizeWithFont的字符串为nil
3.数学函数不正确运算

解决方法除了排除根源所在之外,用函数isnan()也是不错的选择(至少在没有彻底解决以前)
如下

if (!isnan(_x)) {
cell.imgView.frame = CGRectMake(_x, 8, 10, 12);
}```

其实大多数是第一个错误,只要加一句判断就可解决,即
```if (x>0)
{
//代码 --------
}```
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容