在 iOS 中,使用 Storyboards,当我想将一个对象传递给我的详细视图控制器时,我通常会这样做:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
UIViewController *destination = [segue destinationViewController];
if ([segue.identifier isEqualToString:@"ShowRouteViewController"]) {
if ([destination respondsToSelector:@selector(setRoute:)]) {
[destination setValue:self.route forKey:@"route"];
}
}
}
如果我的下一个视图控制器需要这个对象,这对我来说很有意义。我想知道的是,将对象传递到多个屏幕的最佳实践是什么。例如,如果我有 4 个视图控制器:
A->B->C->D
A有路由属性,D需要路由属性,B和C都没有,D怎么得到路由属性?我一直在将属性添加到 B 和 C 以便属性可以向下渗透到我需要的视图控制器,但我不确定是否有更清洁的方法来执行此操作。提前致谢!