在进行segueing时,UITextLabel编辑会导致错误

时间:2014-09-01 23:26:10

标签: ios uilabel uialertview

我有一个UITableView的视图控制器,每个表格视图单元格都有一个UILabel。每当编辑标签时,我都会在我的NSFileManager控制器中调用一个方法来编辑与文本标签关联的文件的名称。如果我点击文本标签但从不编辑名称并点击返回,文件管理器控制器将返回错误并UIAlertView表示"文件名已存在"将在我的视图控制器中显示 - 这很好。但是,如果我点击一个标签开始编辑,但点击另一个按钮切换到另一个视图控制器,该应用程序将切换到所选的视图控制器,将显示警报视图,然后点击&#34后应用程序将崩溃;确定"警报视图中的按钮。知道如何解决这个问题吗?

我实施了endEditing方法,可以在点按非segueing按钮时解决问题。

-(IBAction) tapRecord:(id)sender
{
    [self.audioPlayer stopAudio];
    [self.view endEditing:YES];
    [self.navigationController popToRootViewControllerAnimated:YES];
}   

我得到的错误是"线程1:EXC_BAD_ACCESS"。我相信我对UIAlertView导致问题的行动。如何在segueing之前显示UIAlertView

1 个答案:

答案 0 :(得分:0)

您没有为UIAlertView发布任何代码,但我假设您将警报的delegate设置为您正在查看的视图控制器。如果您要从视图控制器显示即将取消分配的警报,然后单击警报上的按钮,它将尝试在delegate视图控制器中调用警报的delegate方法。

如果这是您所做的,您可以通过以下两种方式之一修复它:

  1. 将提醒的delegate设置为nil,以便点击按钮时不会尝试调用任何方法
  2. 显示未取消分配的视图控制器的警报