当点击Button触发事件时报 NSInvalidArgumentException 的错误的解决办法

         有关这个错误在这里做一个简单的总结,因为遇到过两次而且第一次花了几个小时来解决,很是浪费时间。

         现象,点击按钮时,程序crash掉,在console中看到的最后两句是:terminate called after throwing an instance of 'NSException'    Program received signal: "SIGABRT".

         第一次遇到的时候先在网上查了一下,大多数都说的是调用的那个实例被先释放掉了,所以会报此错误,但是我仔细检查了代码,而且在释放的时候打断点查看,实例并没有被先释放掉,继续查找原因,后来发现被调用的方法被宏屏蔽掉了,汗,宏屏蔽在调用方法的前一个方法前,所以一直未察觉,所以能确定,如果方法未定义,则会报此错误。

         第二次遇到该错误是在写一个Demo的时候,原语句如下:

               [pButton addTarget:self action:@selector(ButtonClick:) forControlEvents:UIControlEventTouchUpInside];

         首先排除实例首先被释放掉的原因,后来继续查找,居然是在selector中的方法后面多打了一个冒号。

          改为 [pButton addTarget:self action:@selector(ButtonClick) forControlEvents:UIControlEventTouchUpInside];

         问题解决,为什么打一个冒号会crash的原因有时间再研究吧,先总结到这里,研究了继续完善该文章.....

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值