UIButton addTarget 与 UIViewCollectionView 内的参数
Posted
技术标签:
【中文标题】UIButton addTarget 与 UIViewCollectionView 内的参数【英文标题】:UIButton addTarget with parameters inside UIViewCollectionView 【发布时间】:2014-11-08 13:49:34 【问题描述】:当我在 UiCollectionView 中将目标添加到 UIButton 时出现以下错误。
我的代码:
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
static NSString *identifier = @"Cell";
UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath];
UIButton *btnBonus = (UIButton *) [cell viewWithTag:405];
[btnBonus setTag: [arrayTruebonusTags[0] intValue]];
[btnBonus addTarget:self action:@selector(goBonus:) forControlEvents:UIControlEventTouchUpInside];
return cell;
- (void) goBonus:(id) sender
UIButton *button = (UIButton *) sender;
我得到这个错误:
[Controller goBonus]: unrecognized selector sent to instance 0x16dc1190
2014-11-08 11:11:41.991 demo[3570:1707966] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Controller goBonus]: unrecognized selector sent to instance 0x16dc1190'
*** First throw call stack:
(0x299cdc1f 0x375b2c8b 0x299d3039 0x299d0f57 0x29902df8 0x2cebdc2b 0x2cebdbd1 0x2cea8863 0x2cebd63d 0x2ce8242d 0x2ceb72f1 0x2ceb6bcd 0x2ce8d3dd 0x2d100c29 0x2ce8be39 0x29994377 0x29993787 0x29991ded 0x298e0211 0x298e0023 0x30cbf0a9 0x2ceec1d1 0xf3599 0x37b32aaf)
libc++abi.dylib: terminating with uncaught exception of type NSException
问题是,如果我在没有 goBonus 的情况下做同样的事情:并且在方法 -goBonus 中它就像一个魅力。
【问题讨论】:
【参考方案1】:您发布的崩溃日志抱怨缺少方法[Controller goBonus]
。
您发布的代码显示您添加了操作goBonus:
(带有冒号,表示它需要一个参数)。
崩溃与您的代码不匹配的事实告诉我您在某处存在不匹配。 addTarget 方法中的选择器@selector(goBonus:)
对您发布的方法是正确的,但崩溃日志抱怨缺少选择器@selector(goBonus)
(没有冒号,因此没有参数。)
你需要解决这个问题。
【讨论】:
你是对的!是我的错,在情节提要中,我有一个之前忘记删除的 goBonus。谢谢!。 如果我解决了您的问题,您应该接受我的回答,以便其他人知道该问题已得到解答。 是的,抱歉还有 3 分钟验证,但我正在做其他事情,你来了,谢谢!以上是关于UIButton addTarget 与 UIViewCollectionView 内的参数的主要内容,如果未能解决你的问题,请参考以下文章
UIButton 的 Swift addTarget 在 UIView 中不起作用
具有自定义视图的 UIButton - addTarget:action:forControlEvents: 不起作用