繁体   English   中英

UITextField(有时)在键入时使应用程序崩溃

[英]UITextField (sometimes) crashes the app while typing

我面临UITextField的问题。 当我输入UITextField时,它会使应用程序崩溃(有时并非一直)。 我怀疑这可能是内存问题,因为仅当我连续使用该应用程序15分钟时才会发生。 我希望我正确地进行了内存管理。 而且应用崩溃,尤其是当我在文本字段中键入内容时,而不是在应用中执行其他操作时。 我不确定是什么引起了问题。

我已经在Google上搜索并找到有关UITextField的一些相关崩溃的讨论,但是它们并没有解决我的问题。

这是我的崩溃日志。

0   libobjc.A.dylib                 0x3260a5b0 objc_msgSend + 16
1   CoreFoundation                  0x32d8e034 _CFXNotificationPost + 1424
2   Foundation                      0x37d93d8c -[NSNotificationCenter postNotificationName:object:userInfo:] + 68
3   Foundation                      0x37d9784e -[NSNotificationCenter postNotificationName:object:] + 26
4   UIKit                           0x35a9d268 -[UITextField fieldEditorDidChange:] + 284
5   UIKit                           0x35a9cac0 -[UIFieldEditor webViewDidChange:] + 76
6   CoreFoundation                  0x32d8e034 _CFXNotificationPost + 1424
7   Foundation                      0x37d93d8c -[NSNotificationCenter postNotificationName:object:userInfo:] + 68
8   WebCore                         0x33bee1e0 WebThreadPostNotification + 64
9   WebCore                         0x33dc0d66 WebCore::Editor::appliedEditing(WTF::PassRefPtr<WebCore::CompositeEditCommand>) + 234
10  WebCore                         0x33dc2efe WebCore::TypingCommand::insertTextRunWithoutNewlines(WTF::String const&, bool) + 130
11  WebCore                         0x33dc2e18 WebCore::TypingCommandLineOperation::operator()(unsigned long, unsigned long, bool) const + 44
12  WebCore                         0x33dc2cfa WebCore::TypingCommand::doApply() + 150
13  WebCore                         0x33db84da WebCore::CompositeEditCommand::apply() + 118
14  WebCore                         0x33dc2c38 WebCore::TextInsertionBaseCommand::applyTextInsertionCommand(WebCore::Frame*, WTF::PassRefPtr<WebCore::TextInsertionBaseCommand>, WebCore::VisibleSelection const&, WebCore::VisibleSelection const&) + 124
15  WebCore                         0x33dc294a WebCore::TypingCommand::insertText(WebCore::Document*, WTF::String const&, WebCore::VisibleSelection const&, unsigned int, WebCore::TypingCommand::TextCompositionType) + 438
16  WebCore                         0x33dc23da WebCore::Editor::insertTextWithoutSendingTextEvent(WTF::String const&, bool, WebCore::TextEvent*) + 382
17  WebCore                         0x33dc2232 WebCore::Editor::handleTextEvent(WebCore::TextEvent*) + 274
18  WebCore                         0x33dc2110 WebCore::EventHandler::defaultTextInputEventHandler(WebCore::TextEvent*) + 12
19  WebCore                         0x33b8b7b8 WebCore::Node::defaultEventHandler(WebCore::Event*) + 244
20  WebCore                         0x33b8b132 WebCore::EventDispatcher::dispatchEvent(WTF::PassRefPtr<WebCore::Event>) + 894
21  WebCore                         0x33b8ad8a WebCore::EventDispatchMediator::dispatchEvent(WebCore::EventDispatcher*) const + 26
22  WebCore                         0x33b8ad4e WebCore::EventDispatcher::dispatchEvent(WebCore::Node*, WTF::PassRefPtr<WebCore::EventDispatchMediator>) + 94
23  WebCore                         0x33b8ac7e WebCore::Node::dispatchEvent(WTF::PassRefPtr<WebCore::Event>) + 30
24  WebCore                         0x33d42d14 WebCore::EventTarget::dispatchEvent(WTF::PassRefPtr<WebCore::Event>, int&) + 68
25  WebCore                         0x33dc1f26 WebCore::EventHandler::handleTextInputEvent(WTF::String const&, WebCore::Event*, WebCore::TextEventInputType) + 198
26  WebCore                         0x33dc1e58 WebCore::Editor::insertText(WTF::String const&, WebCore::Event*) + 12
27  WebKit                          0x3526a684 -[WebHTMLView(WebNSTextInputSupport) insertText:] + 304
28  WebCore                         0x33db7206 -[WAKResponder tryToPerform:with:] + 58
29  WebKit                          0x352905ea -[WebView(WebViewEditingActions) _performResponderOperation:with:] + 98
30  UIKit                           0x35ad803c -[UIWebDocumentView insertText:] + 40
31  UIKit                           0x35ad7ff4 -[UIKeyboardImpl insertText:] + 76
32  UIKit                           0x35aa514c -[UIKeyboardImpl addInputString:fromVariantKey:] + 2816
33  UIKit                           0x35aa3044 -[UIKeyboardImpl handleKeyEvent:] + 1636
34  UIKit                           0x35aa28b2 -[UIKeyboardLayoutStar sendStringAction:forKey:isPopupVariant:] + 482
35  UIKit                           0x35aa13a8 -[UIKeyboardLayoutStar touchUp:] + 3096
36  UIKit                           0x35aa0732 -[UIKeyboardLayout touchesEnded:withEvent:] + 382
37  UIKit                           0x359885f4 -[UIWindow _sendTouchesForEvent:] + 520
38  UIKit                           0x35975804 -[UIApplication sendEvent:] + 376
39  UIKit                           0x3597511e _UIApplicationHandleEvent + 6150
40  GraphicsServices                0x33aed5a0 _PurpleEventCallback + 588
41  CoreFoundation                  0x32e12680 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 12
42  CoreFoundation                  0x32e11ee4 __CFRunLoopDoSources0 + 208
43  CoreFoundation                  0x32e10cb2 __CFRunLoopRun + 642
44  CoreFoundation                  0x32d83eb8 CFRunLoopRunSpecific + 352
45  CoreFoundation                  0x32d83d44 CFRunLoopRunInMode + 100
46  GraphicsServices                0x33aec2e6 GSEventRunModal + 70
47  UIKit                           0x359c92fc UIApplicationMain + 1116
48  MyApp                           0x00087578 0x1000 + 550264
49  MyApp                           0x000030f4 0x1000 + 8436

有什么帮助吗?

谢谢。

编辑:我的应用程序中有多个文本字段,位于不同的视图控制器中。 无论我输入哪个文本文本字段,该应用程序都会随机崩溃。并且只有当我键入任何文本字段时,应用程序才会崩溃。 我觉得UITextField还有其他问题。

有任何想法吗?

从崩溃日志来看,您是否为UITextField连接了一些通知观察器,对吗?

之后,您是否要清理(即删除通知观察者)? 无论如何,在以后进行清理是一个好习惯。

似乎是泄漏,您正在将objc msg发送到某些不符合所传递消息的实例。 检查是否正确分配了所有代表,并通过消息将其发送到活动对象

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM