如何知道我点击哪个按钮在程序中启动操作?

wol*_*ine 1 iphone cocoa cocoa-touch objective-c uibutton

我有3个按钮调用相同的功能.我想在函数里面知道哪个按钮叫它.有可能知道吗?

dre*_*lax 6

是的,你可以使用这个sender参数.如果您有一个IBOutlet调用buttonOne,您可以在IBAction方法内部检查如下:

- (IBAction) buttonClicked:(id) sender
{
    if (sender == buttonOne)
    {
        NSLog(@"Button one was pressed.");
    }
}
Run Code Online (Sandbox Code Playgroud)

或者,分配每个按钮a tag,并使用发送者的tag属性(以下示例假定buttonOne已为其分配了标记值"1"):

- (IBAction) buttonClicked:(id) sender
{
    if ([sender tag] == 1)
    {
        NSLog(@"Button one was pressed.");
    }
}
Run Code Online (Sandbox Code Playgroud)