Objective c 确定方法调用是来自iAction按钮还是自调用

Objective c 确定方法调用是来自iAction按钮还是自调用,objective-c,Objective C,我有一个方法-(iAction)slotSpin:(id)sender{do stuff}。它是通过按下按钮执行的,也可以通过自调用在ViewController中执行。我如何从这个方法中知道它是如何被调用的 从视图控制器调用时,将nil传递为sender: [self slotSpin:nil]; 然后用以下方法进行测试: -(IBAction)slotSpin:(id)sender { if (sender) { // called from button acti

我有一个方法
-(iAction)slotSpin:(id)sender{do stuff}
。它是通过按下按钮执行的,也可以通过自调用在
ViewController
中执行。我如何从这个方法中知道它是如何被调用的

从视图控制器调用时,将
nil
传递为
sender

[self slotSpin:nil];
然后用以下方法进行测试:

-(IBAction)slotSpin:(id)sender {
    if (sender) {
        // called from button action (sender = UIButton *)
    } else {
        // called from view controller
    }
}

从视图控制器调用时,将
nil
传递为
sender

[self slotSpin:nil];
然后用以下方法进行测试:

-(IBAction)slotSpin:(id)sender {
    if (sender) {
        // called from button action (sender = UIButton *)
    } else {
        // called from view controller
    }
}

完美的非常感谢你帮了一个完美的人。非常感谢你帮助一个笨蛋。