2012-12-17 25 views
0

我正在使用UIStoryboardSegue子類來抑制推動畫segue。使用沒有動畫賽格崩潰應用

#import "NoAnimationSegue.h" 

@implementation NoAnimationSegue 

- (void)perform 
{ 
    UIViewController *src = (UIViewController *) self.sourceViewController; 
    UIViewController *dst = (UIViewController *) self.destinationViewController; 
    NSLog(@"src %@", src); 
    [src.navigationController pushViewController:dst animated:NO]; 
} 

@end 

使用此segue會在某些情況下使我的應用程序崩潰。當我禁用此代碼並使用push segue時,它可以正常工作。

任何想法?

+0

什麼是應用程序崩潰消息?另外,你是否檢查你的應用是否消耗太多內存? – Raptor

+0

你沒有分配UIViewController? –

+0

src.navigationController to self.navigationController – NANNAV

回答

0

發生此問題是因爲我在故事板中向我的destinationViewController添加了手勢識別器。

當我刪除手勢識別器或通過代碼添加識別器...它工作正常。

0

上面的代碼對我來說工作正常。你如何在這個分類的segue中調用「perform」方法?我用下面的例子檢查了你的子類,它工作正常,你可以請你使用的代碼調用「執行」方法嗎?

SecondViewController *second = [[SecondViewController alloc] init]; 
NoAnimationSegue *animate = [[NoAnimationSegue alloc] initWithIdentifier:@"1" source:self destination:second]; 
[animate perform];