我有一个类的类别,它创建一个按钮,使用以下选项正确初始化
[cancelButton addTarget:self action:@selector(cancelReconnect:) forControlEvents:UIControlEventTouchUpInside];
然后在同一category.m文件中我有方法
-(void)cancelReconnect{ NSLog(@"here!"); }
当在导入导入类别的类的viewcontroller中按下按钮时,我得到一个EXC_BAD_ACCESS,看起来我的方法/类似乎已经发布了。
如果我在viewcontroller中放置相同的cancelReconnect方法,其中'self'将是。这是相同的结果。
我的addTarget是否正确?是我的选择器方法被释放?怎么解决这个问题?
请注意我的自定义类'.h文件中的toolBarItems数组很强,但我不知道数组中的按钮是否正确。 View Controller是否保留了指向Class类别方法的强指针
答案 0 :(得分:3)
你犯了一个常见的错误。您的实际方法名为cancelReconnect
,但您告诉按钮选择器名为cancelReconnect:
(注意冒号)。
将您的方法更改为:
- (void)cancelReconnect:(UIButton *)button {
NSLog(@"here!");
}