iOS NSUserDefaults setObject forKey,本地化存储,删除字典中的null,空值,本地化的时候,如果value为空值所引起的崩溃
来源:互联网 发布:如何评价b站 知乎 编辑:程序博客网 时间:2024/06/05 09:38
删除字典中的null
我们在处理服务器传过来的数据过程中,如果数据中出现null,我们是没法进行本地持久化处理的。在使用NSUserDaults
保存本地时,如果其中一个字段的value为NULL值,就会出现崩溃。
null产生原因
null是后台在处理数据的时候,如果没有设置默认的value
值,数据库默认填充的值,就为null值,从服务器传过来,我们json or xml解析成null值。
解决办法
- 服务器端做好处理,让所有的字段对应都有默认的不为空的值
- 本地做删除null处理
本地做删除null处理
如果是数据库做处理的话,可以在数据库中,将未设置的value
填充为" "即可。
如果是本地处理的话,我个人是通过添加类别来达到效果的。
代码如下:
//// NSDictionary+MyDictionary.h// Plus2//// Created by 张国荣 on 16/2/24.// Copyright © 2016年 zgr. All rights reserved.//#import <Foundation/Foundation.h>@interface NSDictionary (MyDictionary)-(NSDictionary *)deleteAllNullValue;@end
//// NSDictionary+MyDictionary.m// Plus2//// Created by 张国荣 on 16/2/24.// Copyright © 2016年 zgr. All rights reserved.//#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
0 0
- iOS NSUserDefaults setObject forKey,本地化存储,删除字典中的null,空值,本地化的时候,如果value为空值所引起的崩溃
- 本地化数据字典的时候出现崩溃
- 字典setObject:forKey:与setObject:forKey:的区别
- 删除字典中的null 以便NSUserDefaults存储
- 根据key获取map中的value值,如果该map为null或者为空,或者找不到传入key,或者类型不一致则返回空。
- 字典方法setValue:ForKey setObject:ForKey的区别
- XmlNode中的Value值为空的问题
- 对于字典中value值为空直接取值崩溃问题解决方法
- iOS开发66-setValue:forKey:和 setObject:forKey:的区别
- iOS 判断字典中的值是否为空
- 如果为空值
- 如何让mysql的排序字段的值为空(null)的时候排在后面
- iOS中的字典值为nil的崩溃处理
- 将实体类Bean转换为json对象的时候过滤null空值
- 空指针引起的程序崩溃
- 判断字典中的值是否为空
- 指针为空的崩溃
- 数据的本地化存储
- linux下c语言简单线程池实现
- _Widget
- 分布式读写分离架构
- iOS--Apple Pay
- Darwin RTSP点播流程代码分析2
- iOS NSUserDefaults setObject forKey,本地化存储,删除字典中的null,空值,本地化的时候,如果value为空值所引起的崩溃
- 常用SQL整理 - UPDATE FROM
- DFS算法有趣小题目
- CMD
- linux用java导入证书
- oracle的启动过程
- Eclipse批量修改
- js中window.location.search的用法和作用。
- Spring-web源码解析之Filter-AbstractRequestLoggingFilter