I have viewDidLoad
(of next tableView) being called before didSelectRowAtIndexPath
(of current tableView
).
I am using a 'singleton' to hold my model and up to now this has been working quite well. I am trying to pass on the row selected in the current table in didSelectRowAtIndexPath
to the destination tableview
(they are linked by a segue in storyboard) by setting by the variable in didSelectRowAtIndexPath
.
However the viewDidLoad
of the destination tableview
is called before I can set the row number. didSelectRowAtIndexPath
is called later but by then I have set up my data (wrongly) for the destination table.
When using segues you do not need didSelectRowAtIndexPath:
. You just link the segue to the cell in IB. In the code just use this:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
CustomViewController *newVC = [segue destinationViewController];
newVC.property = theDataYouWantToPass;
}
You can retrieve your row through the sender
variable that is passed.
UITableViewCell *cell = (UITableViewCell *) sender;
NSIndexPath *indexPath = [self.tableView indexPathForCell:cell];
NSInteger myRow = indexPath.row;
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.