带有textfield的alertview在iOS中崩溃了

时间:2013-08-20 09:37:16

标签: ios uitextfield uialertview

我需要将uialertview与textfield一起使用,以便将输入的文本传递给webservice集成,同时应用程序正在运行带有textfield的alertview,并且可以在textfield中输入文本,但是在单击提交按钮时,相应的类崩溃但后退按钮和整个应用程序运行良好。

我用于带文本字段的alertview的代码,

{
            //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);

    }
}

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

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

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