ios - viewDidLoad is called twice when transitioning from UITableViewController -
ios - viewDidLoad is called twice when transitioning from UITableViewController -
when have force segue uitableviewcontroller regular view controller, viewdidload method gets called twice. makes content on sec view controller appear twice. thought viewdidload supposed called once. here code in happening.
viewdidload
-(void)viewdidload{ [super viewdidload]; //change table view cell height if ipad uidevice *device = [uidevice currentdevice]; self.isipad = (device.userinterfaceidiom == uiuserinterfaceidiompad); //initialize quiz [self initializethequiz]; } push segue
- (ibaction)showquiz:(id)sender{ uibutton *senderbutton = (uibutton *)sender; if (senderbutton.tag <= 7 && senderbutton.tag >= 0) { [self performseguewithidentifier:@"showquiz" sender:sender]; }else{ [self performseguewithidentifier:@"showfunfacts" sender:sender]; } } here how perform force segue
- (ibaction)showquiz:(id)sender{ uibutton *senderbutton = (uibutton *)sender; if (senderbutton.tag <= 7 && senderbutton.tag >= 0) { [self performseguewithidentifier:@"showquiz" sender:sender]; }else{ [self performseguewithidentifier:@"showfunfacts" sender:sender]; } } //prepare segue -(void)prepareforsegue:(uistoryboardsegue *)segue sender:(id)sender{ uibutton *senderbutton = (uibutton *)sender; //set quiz name based on button //set destination view controller if ([segue.identifier isequaltostring:@"showquiz"]) { quizviewcontroller *quizviewcontroller = (quizviewcontroller *)segue.destinationviewcontroller; if (senderbutton.tag == 1) { quizviewcontroller.quizname = @"north america"; }else if (senderbutton.tag == 2){ quizviewcontroller.quizname = @"south america"; }else if (senderbutton.tag == 3){ quizviewcontroller.quizname = @"africa"; }else if (senderbutton.tag == 4){ quizviewcontroller.quizname = @"europe"; }else if (senderbutton.tag == 5){ quizviewcontroller.quizname = @"asia"; }else if (senderbutton.tag == 6){ quizviewcontroller.quizname = @"oceania"; }else if (senderbutton.tag == 7){ quizviewcontroller.quizname = @"antarctica"; } }else if ([segue.identifier isequaltostring:@"showfunfacts"]){ funfactstableviewcontroller *funfactsviewcontroller = (funfactstableviewcontroller *)segue.destinationviewcontroller; if (senderbutton.tag == 8) { funfactsviewcontroller.funfactsname = @"north america"; }else if (senderbutton.tag == 9){ funfactsviewcontroller.funfactsname = @"south america"; }else if (senderbutton.tag == 10){ funfactsviewcontroller.funfactsname = @"africa"; }else if (senderbutton.tag == 11){ funfactsviewcontroller.funfactsname = @"europe"; }else if (senderbutton.tag == 12){ funfactsviewcontroller.funfactsname = @"asia"; }else if (senderbutton.tag == 13){ funfactsviewcontroller.funfactsname = @"oceania"; }else if (senderbutton.tag == 14){ funfactsviewcontroller.funfactsname = @"antarctica"; } } } ios objective-c memory viewdidload
Comments
Post a Comment