2016-03-03 115 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