今天在实现一个功能的时候,遇到了一个无比诡异的问题:
具体描述如下:
在一个view中定义了一系列的button,并为其设定了tag,然后为所有button都关联了同一个点击事件,在这个事件中根据button的id来处理,事件实现如下:
- (IBAction)sendKeyHandler:(id)sender
{
UIButton *button = (UIButton*)sender;
switch (button.tag)
{
case 20:
[self sendKeyData:KEY_HOME];
break;
case 21:
[SendKeyAndMouseData sendKeyData:KEYBOARD_MENU];
break;
case 22:
[SendKeyAndMouseData sendKeyData:KEY_BACK];
break;
case 23:
[SendKeyAndMouseData sendKeyData:KEY_BACK];
break;
case 24:
[self sendKeyData:KEY_DPAD_UP];
break;
case 25:
[self sendKeyData:KEY_DPAD_RIGHT];
break;
case 26:
[self sendKeyData:KEY_DPAD_DOWN];
break;
case 27:
[self sendKeyData:KEY_DPAD_LEFT];
break;
case 28:
[self sendKeyData:ENTER];
break;
default:
break;
}
}
接着诡异的事情发生了,每次点击按钮的时候,它总是先到它对应tag的选择中执行,然后执行第一条语句时如果遇到的是一个方法,它会跳转到这个方法首先出现的地方。
各位大神,不知道有木有遇到这样的情况,感谢赐教