[英]What does sender is in prepareForSegue:sender call?
Suppose I perform a segue change when a button is tapped as given in the code below. 假设我按下面的代码在点击按钮时执行了segue更改。
- (IBAction)btnTapped:(id)sender {
[self performSegueWithIdentifier:@"login" sender:self];
}
I'm wondering the purpose of the "sender" part. 我想知道“发送者”部分的目的。 Does it make difference if I make the call with the parameter
sender:sender
, sender:@{@"foo",@"bar"}
or sender:nil
?? 如果我使用参数
sender:sender
, sender:@{@"foo",@"bar"}
或sender:nil
进行呼叫,会有所不同吗?
Edit1: 编辑1:
Can I get this sender
at the destination ViewController for instance at ViewDidLoad()
function? 我可以在目的地ViewController处获取此
sender
吗,例如在ViewDidLoad()
函数中?
The Apple's documentation : 苹果的文档 :
sender:
发件人:
The object that you want to use to initiate the segue.
您要用来启动segue的对象。
This object is made available for informational purposes during the actual segue.
在实际测试期间,此对象仅供参考 。
If you want to use sender
object in the target UIViewController
, use prepareForSegue:sender:
method: 如果要在目标
UIViewController
使用sender
对象,请使用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"])
{
....
}
}
无论使用哪种方法,都设置了sender属性,因此您只需将(id)sender显式转换为(MyAnteriorView *)sender,就可以轻松地从前视图中检索信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.