2

UITextField で問題に直面しています。UITextField に入力すると、アプリがクラッシュします (常にではありません)。これは、アプリを 15 分間連続して使用した場合にのみ発生するため、メモリの問題である可能性があると思われます。メモリ管理を正しく行っていることを願っています。また、アプリで他のアクションを実行しているときではなく、特にテキスト フィールドに何かを入力したときにアプリがクラッシュします。何が問題を引き起こしているのかわかりません。

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 には他にも問題があるように感じます。

何か案は?

4

2 に答える 2

3

クラッシュ ログから判断すると、UITextField の通知オブザーバーを接続していますか?

その後、クリーンアップ (つまり、通知オブザーバーの削除) を行っていますか? いずれにせよ、後でクリーンアップすることをお勧めします。

于 2012-10-25T13:37:34.427 に答える
2

リークのようです。渡されたメッセージに準拠していないインスタンスに objc メッセージを送信しています。すべてのデリゲートが正しく割り当てられ、メッセージが生きているオブジェクトに送信されているかどうかを確認します

于 2012-10-25T11:03:17.533 に答える