关于unrecognized selector sent to instance..报错的问题


出现unrecognized selector sent to instance问题,大部分是因为对象被提前释放,指针变成野指针,还有一种情况是本身就是野指针,如声明一个局部对象,没有初始化就直接调用。定位难 的原因是你知道这个野指针指到哪个类了,但是不知道是哪里产生了野指针。如果一个正常的对象调用一个不存在的方法,也会给出这个提示,不过这种情况下 Xcode会直接给出crash的代码行,不存在定位难的问题。


以上为查阅资料所以回答的答案、以此为依据定点查找问题的、再此出现这个问题浪费了半个工作日,现在遇到的问题是这样的:点击cell自定义的加号按钮,实现购物车数量加减,点击按钮的时候就会报如题错误。
原本写法:
        self.addBtn = [[UIButton alloc]init];
        
        self.addBtn.backgroundColor = [UIColor purpleColor];
        
        [self addSubview:self.addBtn];

错误一:
以为是按钮点击报错,修改点击事件,代理、block都不行

修改无效:
typedef void(^SeletedBtnClickBlock)();
@property (nonatomic, strong) SeletedBtnClickBlock btnClickBlock;

-(void)returnBtnclickBlcok:(SeletedBtnClickBlock)block;

错误二:
以为是模型转换的时候、后台获得的参数定义类型错误。

以上又试了N种办法都解决不掉问题的时候,点了根烟 不由的仰天感叹bug已经影响了我的人生。其实很简单的问题、还是从头理思路、找找原因,最终还是半天灵光一闪,打开电脑、、问题找到了、、感谢乔帮主。

      解决问题:
        self.addBtn = [[UIButton alloc]init];
        
        self.addBtn.backgroundColor = [UIColor purpleColor];
        
        [self.contentView addSubview:self.addBtn];

其实很小的问题、最后一行加了contentView,问题解决了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容