您是不是在同一个 prepareForSegue 方法中为一个视图控制器的所有 segue 实现行为?
Posted
技术标签:
【中文标题】您是不是在同一个 prepareForSegue 方法中为一个视图控制器的所有 segue 实现行为?【英文标题】:Do you implement behaviour for all the segues of one view controller in the same prepareForSegue method?您是否在同一个 prepareForSegue 方法中为一个视图控制器的所有 segue 实现行为? 【发布时间】:2014-04-03 21:55:11 【问题描述】:我要了解 prepareForSegue 如何在单个视图控制器中处理不同类型的 segue...我的意思是,视图控制器可能会在单个视图中具有不同类型的 segue 并为每个视图实现不同的任务它们在 prepareForSegue 方法中,所以它们都在同一个中吗?
我知道您定义的每个 segue 都会向 prepareForSegue 方法发送一个 segue 对象,但是该方法如何知道要执行哪个代码?
谢谢,
【问题讨论】:
【参考方案1】:是的,您将在该单个函数中为该视图控制器执行所有逻辑。
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
NSLog(@"Prepare for segue: %@", [segue identifier]);
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
if ([[segue identifier] isEqualToString:@"segue1"])
// logic for segue 1
else if ([[segue identifier] isEqualToString:@"segue2"])
// logic for segue 2
else if ([[segue identifier] isEqualToString:@"segue3"])
// logic for segue 3
【讨论】:
以上是关于您是不是在同一个 prepareForSegue 方法中为一个视图控制器的所有 segue 实现行为?的主要内容,如果未能解决你的问题,请参考以下文章
使用 UINavigationController 返回时是不是有类似 prepareForSegue 的东西?
TabBarController 是不是有像 prepareForSegue 这样的拦截点?
当 segue 即将执行到另一个视图控制器时,prepareForSegue 是不是会通知视图控制器?