在很多的时候,后台给我们返回的字符串类型的数据,我们直接用的时候可能会有出bug。
比如下面的代码:
[WODUserDefaults setObject:result.attr[@"user"][@"nickName"] forKey:kWXNickName];
直接这样写,会让app直接挂掉,原因是plist文件不能存'空',所以在存的时候要加判断:result.attr[@"user"][@"nickName"] 是否为空。
修改代码如下:
if (![[result.attr[@"user"][@"nickName"] class] isSubclassOfClass:[NSNull class]]) {
[WODUserDefaults setObject:result.attr[@"user"][@"nickName"] forKey:kWXNickName];
}
这里判断需要用的这个value的类型是否是NSNull类型,如果是则代表没有值。
因为如果是NSNull类型的时候是返回yes,所以我们这里取反。
网友评论