viewDidLoad在didSelectRowAtIndexPath之前被调用
问题描述:
我有 viewDidLoad
(下一个tableView的)被调用之前didSelectRowAtIndexPath
(当前tableView
)。viewDidLoad在didSelectRowAtIndexPath之前被调用
我正在使用'singleton'来保存我的模型,到目前为止这一直工作得很好。我试图通过didSelectRowAtIndexPath
中的变量设置,将当前表中选中的行didSelectRowAtIndexPath
传递到目标tableview
(它们通过故事板中的segue链接)。
但是,在我可以设置行号之前调用目的地tableview
的viewDidLoad
。稍后调用didSelectRowAtIndexPath
,但是到那时我已经为目标表设置了我的数据(错误地)。
答
当使用segues时,您不需要didSelectRowAtIndexPath:
。您只需将赛格连接到IB中的单元格。在代码只是使用:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
CustomViewController *newVC = [segue destinationViewController];
newVC.property = theDataYouWantToPass;
}
您可以通过所传递的sender
变量检索您行。
UITableViewCell *cell = (UITableViewCell *) sender;
NSIndexPath *indexPath = [self.tableView indexPathForCell:cell];
NSInteger myRow = indexPath.row;
你能发表一些你的代码吗? –
是的,请张贴一些代码来进一步解释。在我看来,像你的segue出现问题(如果你确实有一个)请详细说明。 –