问题的描述如下:

我有一个 View ,例如, View A。要输入某些数据,我有一个警报,其中有一个文本字段弹出。一旦用户在文本字段中输入数据,我就有一个alertView:didDismissWithButtonIndex:函数,如下所示:

- (void)alertView:(UIAlertView *)alertView:didDismissWithButtonIndex:(NSInteger)buttonIndex {

    [ amountEntered resignFirstResponder];           //dismiss keyboard

    if (buttonIndex == 1) {                          //OK clicked, do something

        if(lblShowTypedText.text)

            data.investmentAmount = lblShowTypedText.text ;

        [myTable reloadData];
    }
}

然后,我的 View A上有一个提交按钮,单击该按钮会弹出回到上一个 View 。这是我的应用崩溃的地方。控制台中没有任何消息,但是经过多次运行,我收到了一条如下消息:

*-[NSCFType alertView:didDismissWithButtonIndex:]:无法识别的选择器已发送到实例0x3c4dce0
2010-06-24 15:33:22.970 BankingAppln [2895:207] CoreAnimation:忽略异常:*
-[NSCFType alertView:didDismissWithButtonIndex:]:无法识别的选择器已发送至实例0x3c4dce0

因此,我已将问题缩小为alertView:didDismissWithButtonIndex:函数。如果我不拨打警报,而是直接跳回到上一个 View ,则一切正常。

我必须在alertView:didDismissWithButtonIndex:函数中做错了什么。

请帮助!!

最佳答案

要检查的几件事:

  • 您是否将AlertView的委托(delegate)设置为正确的类( View A)?
  • 您的类( View A)实现UIAlertViewDelegate协议(protocol)。
  • 可能不是,但是您永远不会知道:您的类名不等于苹果私有(private)api中的名称(别笑,一周前发生在我身上,花了我2​​个小时来弄清楚)?

  • 编辑:
    另一件事要检查:
  • 您的委托(delegate)方法具有正确的返回类型(在这种情况下,我认为它是“void”)?
  • 关于iphone - 调用popViewController时应用程序崩溃:错误:alertView:didDismissWithButtonIndex:,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3108569/

    10-12 03:13