2016-03-03 83 views
0

我知道,我可以programmtically不通過使用原因請看動作:Segue公司相關的功能

-performSegueWithIdentifier:sender: 

我也知道上的UIViewController,-prepareForSegue:sender:其他SEGUE相關方法,其中,我可以目的地視圖控制器上做定製。

但我想知道,哪一個被稱爲第一個?

說,在一個場景中,有ViewControllerOne,有一個按鈕,觸發-performSegueWithIdentifier:sender:,然後去ViewControllerTwo

+1

所以試試嗎?另外,理由告訴我們沒有人可以爲尚未發生的事情做好準備。 – SmokeDispenser

+0

如果您將ViewControllerOne視圖中的按鈕從按鈕拖到ViewControllerTwo的視圖,則不需要調用performSegueWithIdentifier,但將調用ViewControllerOne的prepareForSegue。你也可以爲你的按鈕指定一個IBAction,做你想做的任何事,然後調用performSegueWithIdentifier來以編程方式觸發segue,並且在ViewControllerTwo出現之前調用prepareForSegue(在viewWillAppear和viewDidAppear之前或之後忘記它,你最好測試一下)。 –

+0

林不知道讓你害怕...你點擊了具有賽格的按鈕,但它也有一個IBAction,你想通過手動執行改變其'目標'搜索 –

回答

0

第一個是performSegueWithIdentifier:sender:,實際上這是你執行的。

你提到prepareForSegue:sender:第二個電話是一個委託調用,你不會被強迫執行

+0

我知道這一點。我在實踐中想知道哪一個先用先決條件,我正在使用這兩個功能。 –

0

明白了自己:

Before performSegueWithIdentifier 
Before prepareForSegue 
After prepareForSegue. 
After performSegueWithIdentifier