2013-12-18 81 views
1

我有一個帶有按鈕的登錄頁面。當我點擊它時,IF和ONLY如果登錄成功,我想將數據傳遞給另一個類(使用屬性)。如何製作Segue Pass數據並僅在滿足某些條件時執行

我曾嘗試在按鈕上使用Segue來傳遞數據,但問題在於,這個Segue總是進入下一個視圖,即使登錄失敗,在這種情況下它也不應該。

-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {    
if ([[segue identifier] isEqualToString:@"gotoMainPage"]) { 
MainPageController *mpc = [segue destinationViewController];  
mpc.username = @"TEST"; } 

如何才能讓塞格只進入目標控制器,如果登錄成功?

我知道還有其他方法可以去另一個ViewController,比如在按鈕上設置一個IBAction,以及登錄成功的時候,使用instantiateViewControllerWithIdentifier和presentViewController,我也試過這些,但這裏的問題是它不會將數據傳遞給另一個類。

幫助表示讚賞。謝謝

回答

1

從控制器(不是按鈕)連接segue,然後滿足條件後,在代碼中調用performSegueWithIdentifier。

0

一旦prepareForSegue:sender:被調用,您不能停止segue發生。

您應該檢查條件並有條件地調用performSegueWithIdentifier方法。

+0

好的,所以我不能真正使用Segue方法來登錄。 – user3047450

相關問題