Attempted to dereference an invalid ObjC Object or send it an unrecognized selector.

bug现象:在对一个model进行取值时 一直报错
bug原因:将一个字典或者其他model赋值给当前取值model

eg:

<1>
@interface TestModelA :NSObject
@proprety(nonatomic,copy)NSString *name;
@proprety(nonatomic,copy)NSString *sex;
@end



TestModelA *modelA= @{@"name":@"lee"}

当然这种错误直观的能看出来,但是当一个字典作为参数传值的时候就有可能出现这种情况:

- (void)testWithParam:(id)param {
//如果param为字典类型时 就会出错
  TestModelA *modelA = param;
  NSLog(@"%@",modelA.name);
}

<2>

在对于一个modelA进行重构(得到ModelB)时 依然使用旧的modelA 就会报错

@interface TestModelB :NSObject
@proprety(nonatomic,copy)NSString *name;
@end

这个时候,如果数据json映射给的TestModelB,这个时候调用TestModelA.name是没有任何问题的
但是调用TestModelA.sex就会报出标题的错误

本次bug原因:因为后台模型更换,对于模型进行了重构,但是数据中依然使用旧的Model进行取值,当新增对于model新增属性时 再取这个属性就会报错

bug解决:将旧的model更换为新的model

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

友情链接更多精彩内容