所以我有一个带有按钮的视图,该按钮使用此方法签名调用IBAction方法,它可以从按钮中正常工作。
-(IBAction)getCurrentConditions:(id)sender
我还想从ViewDidLoad中调用相同的方法。我在(id)发送者参数中传递了什么,因为我不需要从ViewDidLoad传递任何内容。
答案 0 :(得分:1)
发件人通常是发送邮件的“IBOutlet”,例如UIButton。因此,您只需将该按钮链接到视图控制器并将其设置为发件人即可。或者,如果您对发件人一无所知,可以发送nil。
答案 1 :(得分:0)
如果您有对该按钮的属性引用,则传递nil
或传递self.someButton
。当然,传递nil
仅在方法不需要发送方时才有效。然后,如果该方法不需要发送者,为什么还要费心参与?
[self getCurrentCondition:self.someButton];
或
[self getCurrentCondition:nil];
或将签名更改为:
- (IBAction)getCurrentCondition {
// Do stuff that doesn't need the sender
}
答案 2 :(得分:0)
通常,IBAction方法从.xib文件调用,但您可以使用选择器从实现文件中的任何位置调用它
[self performSelector:@selector(getCurrentConditions:) withObject:self.curConditionBtn afterDelay:0.0f];