2

我的应用程序出现间歇性崩溃。崩溃日志让我认为 UITextField 的 resignFirstResponser 被调用的方式似乎存在一些问题。我在自定义表格视图单元格中使用 UITextField 和 UITextFieldDelegate 协议方法,这会导致间歇性崩溃。我在下面发布崩溃日志。请任何可以帮助我了解崩溃根本原因的建议或意见都会很棒。此外,似乎崩溃主要发生在 iOS 6 上

谢谢。

以下是 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(内部)_sendActionsForEvents:withEvent:] + 503 + 502
    12 UIKit 0x34737de1-[UIControl touchesEnded:withEvent:] + 489 + 488
    13 UIKit 0x34656421 _UIGestureRecognizerUpdate + 5769 + 5768
    14 核心基础 0x351536cd __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 21 + 20
    15 核心基础 0x351519c1 __CFRunLoopDoObservers + 277 + 276
    16 核心基础 0x35151d17 __CFRunLoopRun + 743 + 742
    17 核心基础 0x350c4ebd CFRunLoopRunSpecific + 357 + 356
    18 核心基础 0x350c4d49 CFRunLoopRunInMode + 105 + 104
    19 图形服务 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 之一可能正在被释放(就像它们在滚动出视图时所做的那样,或者可能是在重新加载视图时)。看到您有一个 TextField 委托,它可能不知道该字段不再存在,因此当它调用 resign 第一响应者时,它会崩溃。

解决方案是在自定义单元格的 dealloc 例程中调用 uitextfield setDelegate:nil。

https://stackoverflow.com/a/9484805/899996

于 2013-07-04T05:36:45.633 回答