vicki753-iOS bug 出现 nan 错误

第一次注意到 NaN 这个关键字,虽然以前也遇到过,最近出现了这个错误之后才意识到这个意思,

2018-09-19 09:22:35.894708+0800 iCooling[48551:3911186] ***     Terminating app due to uncaught exception 'CALayerInvalidGeometry', 
reason: 'CALayer position contains NaN: [nan 115]'
*** First throw call stack:
(
0   CoreFoundation                      0x00000001068df1e6 __exceptionPreprocess + 294
1   libobjc.A.dylib                     0x0000000108967031 objc_exception_throw + 48
2   CoreFoundation                      0x0000000106954975 +[NSException raise:format:] + 197
3   QuartzCore                          0x00000001084fec61 _ZN2CA5Layer12set_positionERKNS_4Vec2IdEEb + 151
4   QuartzCore                          0x00000001084ef362 -[CALayer setPosition:] + 43
5   QuartzCore                          0x00000001084ef990 -[CALayer setFrame:] + 544
6   UIKit                               0x000000010af8e7a6 __26-[_UILabelLayer setFrame:]_block_invoke + 80
7   UIKit                               0x000000010af8e625 -[_UILabelLayer _setFrameOrBounds:settingAction:] + 23
8   UIKit                               0x000000010af8e750 -[_UILabelLayer setFrame:] + 137
9   UIKit                               0x000000010a96a4f7 -[UIView(Geometry) setFrame:] + 368
10  UIKit                               0x000000010ab72605 -[UILabel setFrame:] + 141
11  UIKit                               0x000000010a9576c3 UIViewCommonInitWithFrame + 1380
12  UIKit                               0x000000010a957123 -[UIView initWithFrame:] + 113
13  UIKit                               0x000000010ab71f59 -[UILabel initWithFrame:] + 77
14  iCooling                            0x00000001055fa32c -[ZYCustomPickerView addNameLabel] + 748
15  iCooling                            0x00000001055fa66a -[ZYCustomPickerView numberOfComponentsInPickerView:] + 58

看到layer认为是界面上的赋值错误,因为是一个控件,点的赋值不一样,有的可以也有的不可以,看堆栈上的方法调用也像在Label这一步出错,后来一步一步打印,才知道我挖的坑(反正每天都在挖),就因为在计算label的frame时发现原来除数的时候,直接使用的变量,而这个变量为0,除数为0了,所以,就出现这个崩溃了。在此记录下来。

你可能感兴趣的:(vicki753-iOS bug 出现 nan 错误)