UVextField initWithFrame上的KVO崩溃

时间:2016-04-13 12:01:17

标签: ios objective-c crash uitextfield key-value-observing

我的应用程序的客户向我发送了这个奇怪的崩溃报告,我无法弄清楚这是如何崩溃的。我自己无法重现这个问题,所以依赖于崩溃报告。

它在以下非常简单的代码行崩溃:

UITextField *value = [[UITextField alloc] initWithFrame:frame];

崩溃似乎与键值观察(KVO)有关,但我在这里没有做任何事情;这是一个简单的构造函数! 我能看到的唯一可能性是,另一个线程正在写入一个dealloc'ed对象,该对象恰好具有与initWithFrame:创建的对象相同的内存地址。但在崩溃报告中,所有其他线程都很安静。

我找到了其他类似的问题,但没有一个有答案。

有什么想法吗?

以下是崩溃报告中的相关部分:

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000010
Triggered by Thread:  0

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libobjc.A.dylib                 0x0000000181981b90 objc_msgSend + 16
1   Foundation                      0x0000000182bf2454 -[NSObject(NSKeyValueObserverNotification) willChangeValueForKey:] + 324
2   QuartzCore                      0x0000000184deb11c CA::Layer::set_delegate(objc_object*) + 72
3   UIKit                           0x0000000187456f40 -[UIView _createLayerWithFrame:] + 580
4   UIKit                           0x0000000187456a00 UIViewCommonInitWithFrame + 688
5   UIKit                           0x00000001874566f0 -[UIView initWithFrame:] + 140
6   UIKit                           0x000000018745dfb0 -[UILabel initWithFrame:] + 48
7   UIKit                           0x0000000187542064 -[UITextField createTextLabelWithTextColor:] + 76
8   UIKit                           0x0000000187541c30 -[UITextField initWithFrame:] + 416
9   Flyskyhy                        0x00000001000e1f68 -[ElementView doInitWithUnit:] (ElementView.m:178)

0 个答案:

没有答案