2014-03-18 66 views
2

我喜歡從當前視圖控制器切換到「設置」視圖控制器。哪種方法更有效地轉換,爲什麼?謝謝!我必須在代碼中繼續,因爲我必須在運行時觀察條件。從一個視圖控制器到另一個視圖控制器的推薦方式是什麼?

方法1:

UINavigationController *navigationController = (UINavigationController *)[[[UIApplication sharedApplication] delegate] window].rootViewController; 
SettingsViewController *v = [self.storyboard instantiateViewControllerWithIdentifier:@"settings"]; 
[navigationController pushViewController:v animated:YES]; 

方法2:在故事板,控制拖動當前視圖控制器圖標(左下)爲「設置」視圖控制器然後命名SEGUE標識符「gotoSettingsVC」,設置風格的「推」,然後使用此代碼...

[self performSegueWithIdentifier:@"gotoSettingsVC" sender:nil]; 
+1

這取決於你想要完成什麼。對於大多數用法來說,如果你使用performSegueWithIdentifier,或者更好的話,實現和維護就會簡單得多,只需要在故事板中的控件直接觸發segue即可。缺點是有些人不習慣使用prepareForSegue,如果你有很多來自視圖控制器的退出,它會變得很難看。 –

+0

@David,我沒有提到我必須從代​​碼中觸發segue,因爲我必須觀察條件。編輯的問題來反映這一點。 – Loozie

+0

在這種情況下,看看你的代碼,3條中等複雜的線條,而是一條較短的線條。對於你想要完成的事情,哪個更透明:) –

回答

3

兩者都工作得很好。

如果您正在使用故事板,則可能是更好的方法。實例化初始視圖控制器並讓segues成爲您的指南。另外,雖然方法1可以與故事板一起使用,但與segues不同,它也可以與常規xibs一起使用(或者根本不使用接口構建器)。

除此之外,它歸結爲優先。有些人討厭界面建設者和其他人發誓。 ;)

相關問題