1、前言
崩溃信息:
*** Terminating app due to uncaught exception ‘NSInvalidArgumentException’, reason: ‘-[ProductPropViewController valueChanged:]: unrecognized selector sent to instance 0x7a69f2e0’
最近在实习,由于是接手上一个人工程师写的项目,改了一些方法,导致了错误崩溃。
2、问题
刚开始还没反应过来,后来看到
1 | @protocol CustomStepperDelegate |
默认的代理方法,如果没有@optional
可选,则一定要实现代理。
马上改成:
1 | @protocol CustomStepperDelegate |
马上又跑起,你一定以为就正常了,结果还是这个原因!(心里暗骂,那个duang写的~duang~~~)
后来不得不看.m文件(mm-.-d),结果:
1 | [delegate valueChanged:_currentValue]; |
不能直接执行代理方法,如果代理被销毁了或者没有实现代码的方法,这也会导致崩溃。
不得不服了,为什么那么多人学习iOS,高薪的同时,也得恶补一下自己吧!
最后又改成:
1 | if([delegate respondsToSelector:@selector(valueChanged:)]) { |
3、总结
不得不服了,菜鸟是怎么过来的,也许,淀下心来,才会更码农。我在想,是不是因为那些培训的人多了,他们本身要求低,所以导致了“码农天天加班”的假象?
自己也是新手,但要有心,虚心好好深入学习啊!
真正的程序员应该写不出任何一行自己都不“懂”的代码吧
nice~
- 如有疑问,欢迎在评论区一起讨论!
- 如有不正确的地方,欢迎指导!
> 注:本文首发于 [iHTCboy's blog](https://iHTCboy.com),如若转载,请注来源