*** Terminating app due to uncaught exception 'CALayerInvalidGeometry', reason: 'CALayer position contains NaN: [255 nan]
另,NaN,是Not a Number的缩写。 NaN 用于处理计算中出现的错误情况。
网上解决方法:
某天,加完一个功能,在iPhone4上报以上异常,然后crash掉,iPhone3上没事。百思不得其解,于是google之。看了一篇stackoverflow.com 的文章,说是某些地方代码除以0了,多见于自定义的UITableView自定义UITableViewCell高度的地方,如:tableView:heightForHeaderInSection:或tableView:heightForFooterInSection:。这两个delegate方法都没有地方需要除的。在仔细看一下文章,说多见于适用sizeWithFont方法计算UILabel宽高的地方。恍然大悟,小弟有一个地方使用了UILabel来显示文本,需要用到sizeWithFont方法计算宽高的,在NSString为nil的时候,sizeWithFont会除以0了。
原文:http://blog.csdn.net/hanspy/article/details/6538156
PS:在使用sizeWithFont计算UItabelView中label中字的长度时,由于表视图的cell是复用的,所以在计算label中的NSString的长度时,NSString可能为nil,此时可能会除以0,便会报错。
1.除以0
2.sizeWithFont的字符串为nil
3.数学函数不正确运算
网友评论