0

我有一个 ECSSlidingViewController,在 underLeftViewController 中有一个菜单,它有几个不同的按钮,导致不同的 segues 在 ECSSlidingViewController.topViewController 中显示不同的 UIViewController。菜单上的所有按钮都运行良好,并与适当的视图控制器保持一致。

但是,我希望能够从 ECSSlidingViewController.underLeftViewController 以外的另一个 UIViewController 执行其中一个segues,每当我尝试这样做时,我都会收到 EXC_BAD_ACCESS(1) 错误。在我的日志中显示以下信息。

警告:尝试从视图控制器中关闭:0xc061250> 在演示或关闭过程中!

2014-02-08 23:36:51.772 andrew[19995:70b] * -[ECDynamicTransition 保留]:消息发送到释放的实例 0x11a32710

- (CGRect)frameFromDelegateForViewController:(UIViewController *)viewController
                         topViewPosition:(ECSlidingViewControllerTopViewPosition)topViewPosition {
CGRect frame = CGRectInfinite;

NSObject *testSelf = self;
NSObject *testSelfDelegate = self.delegate;  //This is where EXC_BAD_ACCESS(1) occurs

if ([(NSObject *)self.delegate respondsToSelector:@selector(slidingViewController:layoutControllerForTopViewPosition:)]) {
    id<ECSlidingViewControllerLayout> layoutController = [self.delegate slidingViewController:self
                                                           layoutControllerForTopViewPosition:topViewPosition];

    if (layoutController) {
        frame = [layoutController slidingViewController:self
                                 frameForViewController:viewController
                                        topViewPosition:topViewPosition];
    }
}

return frame;

}

4

0 回答 0