开发中从后台请求数据,返回如下:
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,赋值:
- <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的空值
所以解析后,应加一判断,防止出错
- <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了
转载:http://blog.youkuaiyun.com/feixiang_song/article/details/41749679