2

アプリケーションで断続的にクラッシュします。クラッシュログにより、UITextFieldのresignFirstResponserの呼び出し方法に問題があるように思われます。カスタムテーブルビューセルでUITextFieldおよびUITextFieldDelegateプロトコルメソッドを使用しているため、断続的にクラッシュが発生します。以下にクラッシュログを投稿しています。クラッシュの根本的な原因を理解するのに役立つ提案やコメントがあれば教えてください。また、クラッシュは主にiOS6で発生しているようです

ありがとう。

Crittercismのクラッシュログは次のとおりです。

    0 libobjc.A.dylib 0x39d585b0 objc_msgSend + 16 + 15
    1 UIKit 0x3477f165-[UITextField _resignFirstResponder] + 457 + 456
    2 UIKit 0x34664249-[UIResponder resignFirstResponder] + 281 + 280
    3 UIKit 0x34712397-[UITextField resignFirstResponder] + 147 + 146
    4 UIKit 0x346962f5-[UITableView reloadData] + 225 + 224
    5 BF 0x0008ed37-[BFOpenBetsController updateFilterData](BFOpenBetsController.m:768)
    6 BF 0x0008d695-[BFOpenBetsController deleteBet:](BFOpenBetsController.m:566)
    7 BF 0x00094fbd-[BFOpenBetsUnMatchedCell userTapOnButton:](BFOpenBetsUnMatchedCell.m:198)
    8 UIKit 0x347380a5-[UIApplication sendAction:to:from:forEvent:] + 73 + 72
    9 UIKit 0x34738057-[UIApplication sendAction:toTarget:fromSender:forEvent:] + 31 + 30
    10 UIKit 0x34738035-[UIControl sendAction:to:forEvent:] + 45 + 44
    11 UIKit 0x347378eb-[UIControl(Internal)_sendActionsForEvents:withEvent:] + 503 + 502
    12 UIKit 0x34737de1-[UIControl touchesEnded:withEvent:] + 489 + 488
    13 UIKit 0x34656421 _UIGestureRecognizerUpdate + 5769 + 5768
    14 CoreFoundation 0x351536cd __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 21 + 20
    15 CoreFoundation 0x351519c1 __CFRunLoopDoObservers + 277 + 276
    16 CoreFoundation 0x35151d17 __CFRunLoopRun + 743 + 742
    17 CoreFoundation 0x350c4ebd CFRunLoopRunSpecific + 357 + 356
    18 CoreFoundation 0x350c4d49 CFRunLoopRunInMode + 105 + 104
    19 GraphicsServices 0x32a172eb GSEventRunModal + 75 + 74
    20 UIKit 0x346a12f9 UIApplicationMain + 1121 + 1120

4

2 に答える 2

0

フィルタデータを更新するときに、テーブルビューをリロードし、そのときに一部UITextFieldが編集モードになっているようです。このようなもので再現してみてください。

これが問題である場合は、を呼び出す前にresignFirstResponderすべてのアクティブを試してください。UITextFieldreloadDataUITableView

于 2013-01-16T05:27:11.613 に答える
0

UITextFieldの1つが割り当て解除されている可能性があります(ビューからスクロールアウトしたとき、またはビューがリロードされたときのように)。TextFieldデリゲートがあるので、フィールドがもう存在しないことに気付いていない可能性が高いため、resignfirstresponderを呼び出すとクラッシュします。

解決策は、カスタムセルのdeallocルーチンでuitextfield setDelegate:nilを呼び出すことです。

https://stackoverflow.com/a/9484805/899996を参照してください

于 2013-07-04T05:36:45.633 に答える