iOS7也从ViewDidLoad调用IBAction方法

时间:2014-04-19 21:04:54

标签: ios objective-c methods

所以我有一个带有按钮的视图,该按钮使用此方法签名调用IBAction方法,它可以从按钮中正常工作。

-(IBAction)getCurrentConditions:(id)sender

我还想从ViewDidLoad中调用相同的方法。我在(id)发送者参数中传递了什么,因为我不需要从ViewDidLoad传递任何内容。

3 个答案:

答案 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];