2013-12-22 56 views
0

在我的應用程序中,我需要在應用程序被最小化之後,然後打開應用程序屏幕切換到某個ViewController,它會引入密碼,如果它是正確的,則視圖切換到主屏幕。Xcode看不到segue

我AppDelegate.m:

-(void)applicationDidEnterBackground:(UIApplication *)application { 
    EnterBackground *vc = [[EnterBackground alloc] init]; 
    self.window.rootViewController = vc; 
} 

在故事板,它看起來像這樣:

enter image description here

而且EnterBackground.m:

if ([checkCode isEqualToString:@"111"]) 
    [self perfomSegueWithIdentifier:@"ss" sender: self]; 

但是,當我進入密碼,並且必須去,一個錯誤,沒有與標識符'ss'繼續。儘管它存在。我有一個類似的連接(在綠色圓圈)與另一個ViewController,和模態賽格作品。 我也試過:[self navigationController performSegueWithIdentifier:@"ss" sender:self];有了這個我沒有看到一個錯誤,但我只能看到黑屏。 什麼可能是錯的?

+0

- 你有沒有嘗試清洗你的產品在Xcode? - 您是否重命名了Storyboard文件? - 你有沒有試過清理你的DerivedData文件夾(或簡單地從模擬器中刪除應用程序)? – Martijn

+0

您是否檢查過您沒有在其他地方使用(稍微令人不安)的標識符「ss」? – Mundi

+0

@Martijn我重置模擬器默認值 - 沒有改變 – daleijn

回答

1

在applicationDidEnterBackground方法你可以試試:

UIStoryboard *storybord = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 
EnterBackground *vc = [storyboard instantiateViewControllerWithIdentifier:@"EnterBackgroundVC"]; 
self.window.rootViewController = vc; 
1

您應該從故事板讓您的「EnterBackground」實例,而不是通過手動進行初始化。關於'EnterBackground'的段落的信息來自故事板,而不是來自類實現。這是你如何正確地初始化它:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"YourStoryboardFilename" bundle:nil]; 
EnterBackground *vcEnterBackground = [storyboard instantiateViewControllerWithIdentifier:@"StoryboardIdentifierOfEnterBackground"];