由于要根据返回值进行判断,做出必要反应,因此必须知道返回值所代表的具体字符,在得到(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];