我有一个 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;
}