First of all, your code is against to all "Cocoa Coding Guidelines"
I copied this code, to a new project and it works. The problem makes WebService parser, make sure that pushViewController:animated: is called from main thread.
Try this
dispatch_async(dispatch_get_main_queue(), ^{ NSString *soapMessage = @""; ThirdVC *thirdVCObj = [self.storyboard instantiateViewControllerWithIdentifier:@"pushToThirdVC"]; [self.navigationController pushViewController:thirdVCObj animated:YES]; [self generalParsing:@"" :soapMessage]; [sender setUserInteractionEnabled:NO]; });