IOS开发中(null)与<null>的处理

IOS开发中(null)与<null>的处理

不小心在开发过程中,得到了(null)以及<null>的返回值,找了好长时间只找到了一个关于<null>的。

由于要根据返回值进行判断,做出必要反应,因此必须知道返回值所代表的具体字符,在得到(null)后利用isEqual:和 @“”,NULL,@“(null)”,nil,Nil比较后均得不到正确结果,弄得不知所措了,但是还是感觉像nil,不得已,创建一个字符串,赋值为 nil,打印输出,果然是(null),想不通的是为什么不等。最后试了一下“==”,成功了。费尽周折之后才明白原来要这样用:

if(m_result==nil)

    NSLog(@"KDA!");

}

还有就是<null>,从网上找到了用法:

if([m_result isEqual:[NSNUll null]])

    NSLog(@"KDA!");

}

问题很简单,找不到原因解决就难了,不由感叹,基础最关键啊。

记下,希望能帮到别人一点点就够了。

 
案例: 请求网络数据返回的值有的为空 ,不能直接存起来 ,必须先判断一下
这里是登陆返回的个人信息网络数据

{

    birthday = "<null>";

    category = "<null>";

    counum = 0;

    filename = "<null>";

    level = 0;

    name = "<null>";

    password = a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3;

    sex = 0;

    tel = 15003876305;

    uid = 61;

}

这里有多个  "<null>" 怎么处理呢

  //取出用户名昵称

                NSString *nickName=data[@"name"];

                

                YYCLog(@"%@",nickName);

                这里取出来的nickName为<null>

                //当返回的值为"<null>"用这个判断 为这个时给他赋一个值再存起来

                if([nickName isEqual:[NSNull null]])

                {

                    nickName=@"请设置您的昵称";

                }

                也可以用这个方法判断空值 和上面的一种方法一样 都可以解决这个问题

      [nickName isKindOfClass:[NSNull class]]
               用这个方法对于空值判断比较简单点      

                 //保存用户名和密码

                NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

                

                [defaults setObject:username forKey:@"username"];

                [defaults setObject:password forKey:@"password"];

                [defaults setObject:nickName forKey:@"nickName"];

                

                //同时存入磁盘

                [defaults synchronize];

      这里解决问题
原文地址:https://www.cnblogs.com/zmloveworld/p/5413192.html