前要
[sendBtn addTarget:self action:@selector(sendAction:) forControlEvents:UIControlEventTouchUpInside];
今天在类方法中给UIButton添加点击事件
- (void)sendAction:(UIButton *)sender
点击实现的方法,但我点击的时候出现了+[LYTool sendAction:]: unrecognized selector sent to class 0x100d04ca0
意思就是找不到方法,但是我明明已经实现了,怎么可能没有,看了半天没有看出问题来。不过后来还好是解决了。
问题原因和解决方案
可能我上面前要上已经说明了原因了 ,我是在类方法中创建的UIButton的点击方法,但是我的点击事件的实现却是使用的实例方法,我在类方法中创建的UIButton的点击事件,所以你点击事件的时候,肯定会在类方法的列表中查找实现方法,但是没有+ (void)sendAction:(UIButton *)sender
所以,所以会系统会抛出crash,这个是必然的结果,所以我们平时大多数都是在实例方法中创建的UIButton的,所以很可能没有注意到这里。把点击方法的实现改成类方法就可以了,很容易的操作,看错误的说明就能知道。(这个文章就是纯粹是皮一下。)