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

时间:2012-10-25 10:49:58

标签: iphone objective-c ios uitextfield

我遇到了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存在一些其他问题。

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

根据崩溃日志判断,您是否正在为您的UITextField连接一些通知观察员,对吗?

之后您正在清理(即删除通知观察员)吗? 无论如何,最好在事后清理。

答案 1 :(得分:2)

看起来像是泄漏,您正在向某个不符合传递消息的实例发送objc消息。 检查是否正确分配了所有委托,并将messaged发送到活动对象