检查是否已使用其他方法运行一个方法

时间:2013-07-17 18:13:05

标签: ios objective-c

我正在Xcode中为iPhone应用程序编写一些代码,我希望能够检测是否已经运行了一个方法(即按下按钮,导致该方法运行)另一种方法(我想使用)一个if语句,如果按下按钮就会执行此操作,但如果没有,那么它将执行其他操作。)

2 个答案:

答案 0 :(得分:2)

没有has_method_been_run()函数,但您可以检查状态是否已更改。

例如,say方法button_clicked()调用方法change_font_to_blue()。在这种情况下,您可以检查字体是否为蓝色,并且调用该方法。

这当然是一个非常基本的例子,但是您可以检查任意数量的变量/ UI的状态以查看它是否已更改。

或者你可以为一个对象添加一个布尔值,当你执行你正在观察的方法时,只需将它设置为true。

答案 1 :(得分:0)

如果您的示例只是按下按钮,我将更改UIButton的选定状态

- (IBAction)buttonSelected:(UIButton *)sender {
    sender.selected = YES;
    // OR:
    // self.myButton.selected = YES;
}

- (void)otherMethod {
    if (self.myButton.isSelected) {
        // button has been run through the selector method

        // if you want, reset button's selected state
        self.myButton.selected = NO;
    } else {
        // button has NOT been run through the selector method
    }
}

这是一个简单的想法,默认情况下,UIButton的选定状态在视觉上不同。如果您希望在视觉上进行更改,那么您可以直接进入IB并更改所选状态(包括标题)的视觉效果:

Button visual options in IB

然后当按钮设置为选中(self.myButton.selected = YES;)时,它将自动更改按钮的外观!