iOS7和iOS8的segue.destinationViewController

我试图使我的应用程序与iOS7和iOS8一起工作,我遇到了一个问题,在我的视图控制器prepareForSegue方法。

在iOS8中, segue.destinationViewController是类UINavigationController,所以我使用[[segue.desinationViewController viewControllers] objectAtIndex:0]工作正常,但在iOS7 segue.desinationViewController类CMAMyViewControllerClassName,这将显然会引发错误,当我尝试发送一个viewContollers消息给它。

我发现这个解决scheme将工作,但我想知道是否有更好的解决scheme? 除了后者,我还没有find任何有关它的信息。 如果没有“正确的”解决scheme,我将创build一个获取正确视图控制器的方法; 我只是想知道其他人如何处理这种情况。

谢谢!

在尝试访问其某个属性之前,通过检查目标视图控制器的类来解决此问题:

 - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { DestController *vc = segue.destinationViewController; if ([dvc isKindOfClass:[DestController class]]) dvc.propertyName = @"Property Value"; else // do something else } 

采取从这个线程的解决scheme。