viewDidLoad
(当前didSelectRowAtIndexPath
)之前调用tableView
(下一个tableView)。
我正在使用' singleton'保持我的模型,到目前为止,这一直很好。我试图通过didSelectRowAtIndexPath
中的变量设置,将tableview
中当前表格中选择的行传递到目标didSelectRowAtIndexPath
(它们通过故事板中的segue链接)。
但是,在设置行号之前,会调用目标viewDidLoad
的{{1}}。稍后调用tableview
但到那时我已经为目标表设置了我的数据(错误)。
答案 0 :(得分:5)
使用segues时,您不需要didSelectRowAtIndexPath:
。您只需将segue链接到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;