0

我需要使用带有文本字段的 uialertview 以便将输入的文本传递给 Web 服务集成,而应用程序正在运行带有文本字段的警报视图,并且可以在文本字段中输入文本,但是在单击提交按钮时,相应的类已崩溃,但后退按钮和整个应用程序运行良好。

我用于带有文本字段的警报视图的代码,

{
            //alertview with textfield
           UIAlertView *message = [[UIAlertView alloc] initWithTitle:@"Enter your changes"
             message:nil
             delegate:self
             cancelButtonTitle:@"Cancel"
             otherButtonTitles:@"Submit Changes", nil];
             [message setAlertViewStyle:UIAlertViewStylePlainTextInput];
             [message show];
}


- (void)alertView:(UIAlertView *)alertView willDismissWithButtonIndex:(NSInteger)buttonIndex

{
    if (buttonIndex == 1)

    {
       text = [[alertView textFieldAtIndex:0] text];

        NSLog(@"passed value %@",text);

    }
}
4

2 回答 2

0

那个代码放在哪里?没有更多上下文,这两个猜测是在黑暗中拍摄的,但它们是常见的陷阱。

我的第一个猜测是,当对话框关闭时,这个对象(它是警报视图的代表)已经死了。并且委托已分配,因此它将在死对象上调用,从而导致崩溃。

另一个可能的原因是您的代码位于类方法中,即+(void)showMessage;. 然后将委托设置为类而不是对象,这也会触发崩溃。

于 2013-08-20T16:37:06.593 回答
0

您可能会声明对象超出范围,当您尝试访问不再存在的对象时会导致崩溃。更多代码会很有用

于 2015-08-19T19:25:03.730 回答