您的位置:首页 > 其它

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

 





<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

 





<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了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐