从iPhone 4上的转换上下文中检索视图时的EXC_BAD_ACCESS

bel*_*nta 2 iphone xcode objective-c ios

我有以下代码,它完全适用于我的iPhone 5和所有iPhone模拟器,但它在我的iPhone 4上崩溃.我在最后一行获得EXC_BAD_ACCESS,我将UITransitionContextToViewKey传递给我的转换上下文.

我有一个干净的分析和构建,UITransitionContextFromViewKey和UITransitionContextToViewKey也是如此.

我的iPhone 4在iOS 7.1.2上,我的部署目标是7.0,目标构建基础SDK 8.0.

谁知道该怎么办?谢谢.

- (void)animateTransition:(id<UIViewControllerContextTransitioning>)transitionContext
{
    // get transition parameters from context
    UIView *containerView = transitionContext.containerView;
    UIViewController *destinationViewController =
    [transitionContext viewControllerForKey:UITransitionContextToViewControllerKey];

    if ([destinationViewController.title isEqualToString:@"ListController"]) {

        // get source and destination views
        UIView *sourceViewSnapshot = [self.view snapshotViewAfterScreenUpdates:YES];

        UIView *destinationView = [transitionContext viewForKey:UITransitionContextToViewKey]; // EXC_BAD_ACCESS

// ...
}
Run Code Online (Sandbox Code Playgroud)

小智 6

viewForKey方法是iOS 8及更高版本,但iOS 7支持viewControllerForKey方法.对代码进行一些小改动即可获得iOS 7中的视图:

   UIView *destinationView = [transitionContext viewControllerForKey:UITransitionContextToViewControllerKey].view;
Run Code Online (Sandbox Code Playgroud)