ECSSlidingViewController.topViewController にさまざまな UIViewController を表示するためのさまざまなセグエにつながるいくつかの異なるボタンがある underLeftViewController にメニューを持つ ECSSlidingViewController があります。メニューのすべてのボタンが適切に機能し、適切なビュー コントローラーに移行します。
ただし、ECSSlidingViewController.underLeftViewController 以外の別の UIViewController からセグエの 1 つを実行できるようにしたいのですが、これを実行しようとすると常に EXC_BAD_ACCESS(1) エラーが発生します。私のログには、次の情報が表示されます。
警告: View Controller から閉じようとしています: 0xc061250> プレゼンテーションまたは破棄が進行中です!
2014-02-08 23:36:51.772 アンドリュー [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;
}