Terminating app due to uncaught exception ‘CALayerInvalidGeometry’, reason: ‘CALayer position contains NaN: [nan 38]’
这错误发生时,一般打开NSZombieEnable,用个全局断点,会定位到错误发生的位置,如果不出所料,错误是与CGRect相关的,也就是reason中提示的position的问题,
NaN,是Not a Number的缩写。 NaN 用于处理计算中出现的错误情况。
简单说,那个position可能包含了异常值,从内存方面来看一下会比较好。
1、一般和layer相关的也可能会有重复设值、刷新和释放的情况
2、在设备高度及宽度时,CGRectMake设置等中存在错误,看看是不是除0等操作了
self.pictureView.frame = CGRectMake(margin, 65 + textH, maxSize.width, news!.height * (maxSize.width / news!.width))
如代码,当我的news!.width == 0时,maxSize.width / 0 是不合法的,所以作为CGRect的参数时,就出现了上面的这个crash