发件人在prepareForSegue:发送者呼叫中有什么作用?

时间:2013-11-18 12:23:22

标签: ios iphone objective-c

假设我按下下面的代码中给出的按钮时执行segue更改。

- (IBAction)btnTapped:(id)sender {   
    [self performSegueWithIdentifier:@"login" sender:self];
}

我想知道“发件人”部分的目的。如果我使用参数sender:sendersender:@{@"foo",@"bar"}sender:nil进行调用,会有所不同吗?

EDIT1:

我可以在sender函数的目的地ViewController上获取此ViewDidLoad()吗?

2 个答案:

答案 0 :(得分:0)

Apple's documentation

  

发件人:

     

要用于启动segue的对象。

     

在实际的segue期间,此对象可用于以供参考

如果您想在目标sender中使用UIViewController个对象,请使用prepareForSegue:sender:方法:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    // Make sure your segue name in storyboard is the same as this line
    if ([[segue identifier] isEqualToString:@"YOUR_SEGUE_NAME_HERE"])
    {
        ....
    }
}

答案 1 :(得分:0)

发送者属性,无论使用它的方法如何,都可以轻松地从前视图中检索信息,只需通过显式转换(id)发送者到(MyAnteriorView *)发送者。