Note that there are some explanatory texts on larger screens.

plurals
  1. POdidSelectRowAtIndexPath get called just once
    text
    copied!<p>i have two view controllers, FirstViewController and DetailViewController, switch back and forth. </p> <p>in didSelectRowAtIndexPath method ---> updateRowNumber:indexPath.row, i pass the selected row number to DetailViewController. </p> <p>the first time, it worked, FirstViewController can pass the selected row to DetailedViewController, after switch back and forth, it still get the last selected row.</p> <p>anyone knows what i missed?</p> <pre><code>#import "FirstViewController.h" #import "AppDelegate.h" #import "DetailViewController.h" #import "PartyListCustomViewCell.h" @interface FirstViewController () @end @implementation FirstViewController @synthesize dvController; // it is a DetailViewController - (void) viewDidLoad { contentArray = [[NSArray arrayWithObjects:@"heyun", @"wushi", @"ios", nil]retain]; [super viewDidLoad]; } - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization } return self; } - (void) dealloc { [dvController release]; [super dealloc]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear: animated]; } - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear: animated]; } - (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear: animated]; } - (void)viewDisDisappear:(BOOL)animated { [super viewDidDisappear: animated]; } - (NSInteger)numberOfSectionsInTableView: (UITableView *)tableView { return 1; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return [contentArray count]; } // custom row height - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { // dynamic with whether the cell has the party image or not.. return 160; } // Customize the appearance of table view cells - (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath: (NSIndexPath *)indexPath { static NSString *CellIdentifier = @"PartyListCustomCell"; PartyListCustomViewCell *plcc = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if(plcc == nil) { plcc = [[[PartyListCustomViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; } // set up custom cell plcc.partyTitle.text = @"partyTitle"; return plcc; } - (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { if (dvController == nil) { DetailViewController *aController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil]; self.dvController = aController; [aController release]; } [dvController updateRowNumber:indexPath.row]; [[self navigationController] pushViewController:dvController animated:YES]; } @end #import "DetailViewController.h" @interface DetailViewController () @end @implementation DetailViewController @synthesize rowNumber; - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization } return self; } - (void) updateRowNumber: (int) theindex { rowNumber = theindex + 1; } - (void)dealloc { [super dealloc]; } - (void)viewDidLoad { UILabel *label1 = [[UILabel alloc]initWithFrame:CGRectMake(50.0, 20.0, 200.0, 50.0)]; label1.text = [NSString stringWithFormat:@"row %i was clicked ", rowNumber]; [self.view addSubview: label1]; [super viewDidLoad]; [label1 release]; // Do any additional setup after loading the view from its nib. } - (void)viewDidUnload { [super viewDidUnload]; // Do any additional setup after loading the view from its nib. } - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear: animated]; } - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear: animated]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload