如何在点击UIButton时将对象作为参数发送?

skå*_*fan 3 iphone cocoa-touch uibutton ios4

我在UIViewController中有以下代码 -

[flipButton addTarget:self.navigationController.delegate action:@selector(changeModeAction:) forControlEvents:UIControlEventTouchUpInside];
Run Code Online (Sandbox Code Playgroud)

如您所见,它在其导航控制器委托中调用一个方法.如何正确地将对象传递给此方法?

Tin*_*rge 8

您可以使用图层属性.添加要传递的对象作为图层字典中的值.

[[btn layer] setValue:yourObj forKey:@"yourKey"];
Run Code Online (Sandbox Code Playgroud)

yourObj可以通过按钮动作功能访问:

-(void)btnClicked:(id)sender
{
    yourObj = [[sender layer] valueForKey:@"yourKey"];
}
Run Code Online (Sandbox Code Playgroud)

使用此方法,只需在字典中使用不同的键添加新对象,就可以将多个值传递给按钮功能.