请求SQL数据是存在<null>,的解决方法

删除字典中的null
我们在处理服务器传过来的数据过程中,如果数据中出现null,我们是没法进行本地持久化处理的。在使用NSUserDaults保存本地时,如果其中一个字段的value为NULL值,就会出现崩溃。
null产生原因
null是后台在处理数据的时候,如果没有设置默认的value值,数据库默认填充的值,就为null值,从服务器传过来,我们json or xml解析成null值。
解决办法
- 服务器端做好处理,让所有的字段对应都有默认的不为空的值
- 本地做删除null处理
本地做删除null处理
如果是数据库做处理的话,可以在数据库中,将未设置的value填充为" "即可。
如果是本地处理的话,我个人是通过添加类别来达到效果的。
代码如下:
NSDictionary+MyDictionary.h
***********************************
#import <Foundation/Foundation.h> @interface NSDictionary (MyDictionary)
-(NSDictionary *)deleteAllNullValue;
@end
//*********************************************************************
NSDictionary+MyDictionary.m
**********************************************
// NSDictionary+MyDictionary.m #import "NSDictionary+MyDictionary.h" @implementation NSDictionary (MyDictionary)
- (NSDictionary *)deleteAllNullValue{
NSMutableDictionary *mutableDic = [[NSMutableDictionary alloc] init];
for (NSString *keyStr in self.allKeys) {
if ([[self objectForKey:keyStr] isEqual:[NSNull null]]) {
[mutableDic setObject:@"" forKey:keyStr];
}
else{
[mutableDic setObject:[self objectForKey:keyStr] forKey:keyStr];
}
}
return mutableDic;
}
@end 学习:http://www.ithao123.cn/content-10842398.html
请求SQL数据是存在<null>,的解决方法的更多相关文章
- SQL Server2005索引碎片分析和解决方法
SQL Server2005索引碎片分析和解决方法 本文作者(郑贤娴),请您在阅读本文时尊重作者版权. 摘要: SQL Server,为了反应数据的更新,需要维护表上的索引,因而这些索引会形成碎片.根 ...
- 浅析Mysql 数据回滚错误的解决方法
介绍一下关于Mysql数据回滚错误的解决方法.需要的朋友可以过来参考下 MYSQL的事务处理主要有两种方法.1.用begin,rollback,commit来实现begin 开始一个事务rollbac ...
- 浅析Mysql数据回滚错误的解决方法
介绍一下关于Mysql数据回滚错误的解决方法.需要的朋友可以过来参考下 MYSQL的事务处理主要有两种方法. 1.用begin,rollback,commit来实现 begin 开始一个事 ...
- 无法打开物理文件xxx.mdf操作系统错误 5:“5(拒绝访问。)” (Microsoft SQL Server,错误: 5120)的解决方法
无法打开物理文件xxx.mdf操作系统错误 5:“5(拒绝访问.)” (Microsoft SQL Server,错误: 5120)的解决方法 问题描述: 在附加数据库到sql server时,附 ...
- ios/iphone手机请求微信用户头像错位BUG及解决方法
转:http://www.jslover.com/code/527.html ios/iphone手机请求微信用户头像错位BUG及解决方法 发布时间:2014-12-01 16:37:01 评论数:0 ...
- SQL Server 2008 允许远程链接 解决方法
用户在使用SQL Server 2008远程链接时,可能会弹出如下对话框: 在链接SQL服务器时发生网络链接错误或特定实例错误.SQL服务器不存在或者链接不成功.请验证用户名是否正确或SQL服务器是否 ...
- SQL Server作业没有执行的解决方法
SQL Server作业没有执行的解决方法 确保SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行 设置方法: 我的电脑--控制面板--管理工具--服务--右键 SQLSE ...
- 【常见的SQL Server连接失败错误以及解决方法】
[常见的SQL Server连接失败错误以及解决方法] http://blog.csdn.net/feixianxxx/article/details/5523922 ADO连接SQL Server ...
- 【java】Execption的 e.getMessage()为null的解决方法
================================ 场景: 当代码出现异常时通常都需要将异常信息写入到日志中,异常信息越详细越有利于问题的排查.而通过的Exception.getMess ...
随机推荐
- 129 - Krypton Factor
/*UVa129 - Krypton Factor --回溯问题.看例子可知道确定该字符串是按照从左到右依次考虑每个位置,当前位置填不上所有的字符时,需要回溯. -- */ #define _CRT_ ...
- python的__call__、__str__、__repr__、__init__、__class__、__name___、__all__、__doc__、__del__等魔术方法的作用
python中,一切都是对象 在Python中,所有以“__”双下划线包起来的方法,都统称为“Magic Method”--魔术方法 1.__call__:作用是把类实例变成一个可调用对象 在Pyth ...
- 利用【深度网络】高效提取feature
extracting features from a learned model, and add some new features yourself.
- Android 常驻与很驻型广播的差别,及ListView优化,Android新手基本知识巩固
1.常驻型广播 常驻型广播,当你的应用程序关闭了,假设有广播信息来,你写的广播接收器相同的能接受到. 他的注冊方式就是在你的应用程序中的AndroidManifast.xml进行注冊. 通常说这样 ...
- EL表达式中的empty运算符
- 把e.printStackTrace的堆栈信息打印在log.error()中
不要这样写: log.error(e);这样只是简单的记录下错误的类型,不能精确出错误出错在哪行 要写成:log.error(e.toString(),e);
- zabbix proxy分布式监控部署
一.proxy分布式监控介绍 来源于zabbix官网: https://www.zabbix.com/documentation/3.4/zh/manual/distributed_monitorin ...
- JavaSE入门学习18:Java面向对象之多态
一Java多态 多态是同一个行为具有多个不同表现形式或形态的能力. 多态性是对象多种表现形式的体现.比方我们说"宠 物"这个对象.它就有非常多不同的表达或实现,比方有小猫.小狗.蜥 ...
- HDU4911:Inversion
Problem Description bobo has a sequence a1,a2,-,an. He is allowed to swap two adjacent numbers for n ...
- Eclipse web项目导入Intellij 并且部署
一.导入自己的web项目 步骤:File->New->Project from Existing Source... 二.选择项目的所在位置,点击"OK";接着如下图所 ...