Following is my code for button action event.
-(IBAction)reportRepair{
if(![Common hasReportRepairURL]){
NSArray *forms = [[self delegate] getFormsForSection:@"REPORTREPAIR"];
if(forms.count == 0){
[self performSegueWithIdentifier:@"ReportRepairView" sender:self];
}else if(forms.count == 1)
[self getFormByFormID:[[forms objectAtIndex:0] intValue]];
else
[self performSegueWithIdentifier:@"FormsView" sender:self];
}
}
and prepareForSegue is as below:
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if([[segue identifier] isEqualToString: @"RepairDetailView"]){
RepairDetailViewController *dest = (RepairDetailViewController *) [segue destinationViewController];
dest.job = self.selectedJob;
dest.tenancy = self.tenancy;
}else if([[segue identifier] isEqualToString: @"ReportRepairView"]){
ReportRepairViewController *dest = (ReportRepairViewController *) [segue destinationViewController];
dest.tenancy = self.tenancy;
}else if([[segue identifier] isEqualToString: @"FormsView"]){
FormsSearchViewController *dest = (FormsSearchViewController *) [segue destinationViewController];
dest.allowedForms = [[self delegate] getFormsForSection:@"REPORTREPAIR"];
dest.tenancy = self.tenancy;
dest.formSectionType = @"REPORTREPAIR";
}else if([[segue identifier] isEqualToString: @"FormView"]){
FormViewController *dest = (FormViewController *) [segue destinationViewController];
dest.form = self.form;
dest.tenancy = self.tenancy;
dest.formSectionType = @"REPORTREPAIR";
}
else if([[segue identifier] isEqualToString: @"RepairsWebView"]){
WebViewController *dest = (WebViewController *) [segue destinationViewController];
dest.siteURL = [Common getReportRepairURL:self.tenancy];
dest.screenTitle = AGLocalizedString(@"Report a Repair", @"Report a Repair");
}
}
when I debug the code it is know to me, that prepareForSegue method is called before Action event. Due to this, For UI point of view, I am facing some abnormal behaviour in my application.
Try to make segues like below images. Don't draw segues from Button to ViewController. If the segues have been added already remove them.