ストーリーボードには、カスタムプッシュ セグエがもう 1 つ、カスタムポップ セグエが戻るにUINavigationController
接続されています。目的の VC を何度も再作成することなく、2 つの VC 間を即座に(アニメーションなし、iOS8) 行き来しようとしています。rootViewController
UIViewController
カスタムセグエは次のとおりです。
@implementation PushNoAnimationSegue
// This is a hack!
static UIViewController *dvc;
-(void)perform {
if (!dvc) {
dvc = [self destinationViewController];
}
[[[self sourceViewController] navigationController] pushViewController:dvc animated:NO];
}
と
@implementation UnwindNoAnimationSegue
-(void)perform {
[[[self destinationViewController] navigationController] popToViewController:[self destinationViewController] animated:NO];
}
上記はこの単純なシナリオで意図したとおりに機能しますが、もちろん はPushNoAnimationSegue
ハックを使用しており、さらに一部の宛先 VC は常にalloc
'd' になっているため、これは避けたいと考えています。醜いハックなしでこれをどのように達成できますか?