在didSelectRowAtIndexPath之前调用viewDidLoad

Ian*_*Ian 3 objective-c uitableview viewdidload didselectrowatindexpath ios

viewDidLoad(之前的tableView)被调用didSelectRowAtIndexPath(当前tableView).

我使用'singleton'来保持我的模型,到目前为止,它一直运作良好.我试图通过设置变量in 将当前表中选择的行传递didSelectRowAtIndexPath到目标tableview(它们通过故事板中的segue链接)didSelectRowAtIndexPath.

但是,在我可以设置行号之前调用viewDidLoad目标tableview.didSelectRowAtIndexPath稍后调用,但到那时我已经为目标表设置了我的数据(错误地).

Mun*_*ndi 5

使用segues时你不需要didSelectRowAtIndexPath:.您只需将segue链接到IB中的单元格即可.在代码中使用这个:

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
   CustomViewController *newVC = [segue destinationViewController];
   newVC.property = theDataYouWantToPass;
}
Run Code Online (Sandbox Code Playgroud)

您可以通过sender传递的变量检索行.

UITableViewCell *cell = (UITableViewCell *) sender;
NSIndexPath *indexPath = [self.tableView indexPathForCell:cell];
NSInteger myRow = indexPath.row;
Run Code Online (Sandbox Code Playgroud)