CRASH: -[NSNull length]: unrecognized selector sent to instance错误的处理办法
2017-02-09 10:15
507 查看
开发中从后台请求数据,返回如下:
2014-12-05 16:44:52.535 掌麦[6984:613] getDefaultAddress: reuslt == {
item = {
data = {
address = "<null>";
area = "<null>";
city = "<null>";
name = "";
phone = 18503051318;
province = "<null>";
};
mark = 1;
msg = "\U6210\U529f";
};
status = 1;
}
我直接解析出字典dic,赋值:
[objc] view
plain copy
![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/a7c8e286f463007e2a900848b93dd72c.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/9e12f1d3e499fc949c886e7c9e0484f9)
<span style="font-size:18px;"> NSString *address = [dic objectForKey:@"address"];
//NSString *area = [dic objectForKey:@"area"];
NSString *name = [dic objectForKey:@"name"];
//NSString *city = [dic objectForKey:@"city"];
NSString *phone = [dic objectForKey:@"phone"];
//NSString *province = [dic objectForKey:@"province"];
self.addressLabel.text = address;
self.nameLabel.text = name;
self.phoneLabel.text = phone;
</span>
结果报错:CRASH: -[NSNull length]: unrecognized selector sent to instance
原因及时后台返回有些值为null,在object-c中就是nsull的空值
所以解析后,应加一判断,防止出错
[objc] view
plain copy
![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/a7c8e286f463007e2a900848b93dd72c.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/9e12f1d3e499fc949c886e7c9e0484f9)
<span style="font-size:18px;"> if (![address isKindOfClass:[NSNull class]]) {
self.addressLabel.text = address;
}
if (![name isKindOfClass:[NSNull class]]) {
self.nameLabel.text = name;
}
if (![phone isKindOfClass:[NSNull class]]) {
self.phoneLabel.text = phone;
}
</span>
这样就OK了
2014-12-05 16:44:52.535 掌麦[6984:613] getDefaultAddress: reuslt == {
item = {
data = {
address = "<null>";
area = "<null>";
city = "<null>";
name = "";
phone = 18503051318;
province = "<null>";
};
mark = 1;
msg = "\U6210\U529f";
};
status = 1;
}
我直接解析出字典dic,赋值:
[objc] view
plain copy
![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/a7c8e286f463007e2a900848b93dd72c.png)
<span style="font-size:18px;"> NSString *address = [dic objectForKey:@"address"];
//NSString *area = [dic objectForKey:@"area"];
NSString *name = [dic objectForKey:@"name"];
//NSString *city = [dic objectForKey:@"city"];
NSString *phone = [dic objectForKey:@"phone"];
//NSString *province = [dic objectForKey:@"province"];
self.addressLabel.text = address;
self.nameLabel.text = name;
self.phoneLabel.text = phone;
</span>
结果报错:CRASH: -[NSNull length]: unrecognized selector sent to instance
原因及时后台返回有些值为null,在object-c中就是nsull的空值
所以解析后,应加一判断,防止出错
[objc] view
plain copy
![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/a7c8e286f463007e2a900848b93dd72c.png)
<span style="font-size:18px;"> if (![address isKindOfClass:[NSNull class]]) {
self.addressLabel.text = address;
}
if (![name isKindOfClass:[NSNull class]]) {
self.nameLabel.text = name;
}
if (![phone isKindOfClass:[NSNull class]]) {
self.phoneLabel.text = phone;
}
</span>
这样就OK了
相关文章推荐
- CRASH: -[NSNull length]: unrecognized selector sent to instance错误的处理办法
- CRASH: -[NSNull length]: unrecognized selector sent to instance错误的处理办法
- CRASH: -[NSNull length]: unrecognized selector sent to instance错误的处理办法
- iOS nil、Nil、NULL、NSNull的区别(null)与<null>的处理: -[NSNull length]: unrecognized selector sent to instance
- iOS 错误: [NSNull length]: unrecognized selector sent to instance 0x110504af0'
- 关于[NSNull length]: unrecognized selector sent to instance的问题
- iOS开发之 [NSNull length]:unrecognized selector sent to instance
- error:[NSNull length]: unrecognized selector sent to instance 0x198dd6690'
- 错误:[__NSCFString md5Hash]: unrecognized selector sent to instance 0x223120'
- [NSNull intValue]: unrecognized selector sent to instance 0x375c9860
- -[NSNull countByEnumeratingWithState:objects:count:]: unrecognized selector sent to instance 0x3e4e
- unrecognized selector sent to instance错误的原因之一与解决办法
- swift有关setValue崩溃,报告错误为NSCFString longValue unrecognized selector sent to instance
- iOS错误处理之[__NSArrayM 某一方法名:]: unrecognized selector sent to instance
- iOS编译错误:[__NSCFConstantString count]: unrecognized selector sent to instance 0x1ada02c
- 静态库调用中“unrecognized selector sent to instance”错误
- [UIImageView setImageWithURL:]: unrecognized selector sent to instance解决办法
- 错误: [UILabel copyWithZone:]: unrecognized selector sent to instance
- UILabel.text赋值报错,[NCFNumber length] ,unrecognized selector sent to instance
- iOS:编译错误[__NSCFNumber length]: unrecognized selector sent to instance 0x8b3c310’ - andy_shen