ios - reusing the same UITableViewController -


i have tableviewcontroller needs drill down , show 3 layers of data. have no problem drilling down when go back, cells , table become empty. i'm using storyboard , didn't have problem when using nib. had to alloc , initwithnibname same view , create instance of same tableview , can go , data there.

i've tried using segue it's not working need tableviewcontroller segue if i'm drilling down. i've created own method push view controller , pass data new instance of itself

- (void)drilldown{     uistoryboard *storyboard = [uistoryboard storyboardwithname:@"main" bundle:[nsbundle mainbundle]];     exercisetableviewcontroller *tableview = [storyboard instantiateviewcontrollerwithidentifier:@"exercisetableview"];     tableview.title = _detailtitle;     tableview.delegate = self;     tableview.level = _level;     tableview.currentsmid = _currentsmid;     tableview.currentmid = _currentmid;     tableview.musclenamearray = _musclenamearray;     if (_level == 2) {         tableview.submusclenamearray = _submusclenamearray;     }     [self.navigationcontroller pushviewcontroller:tableview animated:yes]; } 

this have in viewdidload

- (void)viewdidload {  [super viewdidload];    uibarbuttonitem *add = [[uibarbuttonitem alloc] initwithbarbuttonsystemitem:uibarbuttonsystemitemadd target:self action:@selector(addexercise:)]; self.navigationitem.rightbarbuttonitem = add;  nslog(@"level: %i, currentsmid: %i, currentmid: %i", _level, _currentsmid, _currentmid);  if (self.managedobjectcontext_ == nil) {     self.managedobjectcontext_ = [(appdelegate *)[[uiapplication sharedapplication] delegate] managedobjectcontext]; }  if (_level == 1) {     _submusclenamearray = [self submusclegroup:_currentmid valueforkeypath:@"submusclegroup"];     _submuscleidarray = [self submusclegroup:_currentmid valueforkeypath:@"submuscleid"]; } else if (_level == 2) {     //loading , sorting exercise list     _exerciselist = [self loadexercise:_currentmid sub:_currentsmid];     _exerciselistsorted = [self sortkeysbyname]; } else {     [self loadmusclegroup]; }  } 

the table view populated when put of code in viewdidappear can't differentiate between drilling down , going viewdidappear.

isn't navigationcontroller suppose save current view , push new view , when pop new view, go current view?

it seems everytime pop view, previous view needs load on again , causing previous views become blank.

any suggestions?

storyboard attached storyboard

so figured out issue. have variable called _level , use track level of drill down i'm in. when passing variable next level, i've replaced current level next level number therefore when come previous view. current level same next level screwed things up.

i've solved creating new variable called nextlevel , passing down instead.

very basic error on part.


Comments

Popular posts from this blog

asp.net mvc - SSO between MVCForum and Umbraco7 -

Python Tkinter keyboard using bind -

ubuntu - Selenium Node Not Connecting to Hub, Not Opening Port -