crashed when performSegueWithIdentifier was invoke while self wasn't visible

-(void)performSegueWithIdentifier:(NSString *)identifier sender:(id)sender {
    if (self == self.navigationController.visibleViewController) {
        [super performSegueWithIdentifier:identifier sender:sender];
    }
}