检查字典中是否有NULL 类型,如果有的话,转换成"",因为字典中又null ,是不能存入到NSUserDefalut 里面的.
2015-03-13 14:10
393 查看
//该方法是检查字典中是否有nil 的,有nil就转行成""
- (NSDictionary *)checkDict:(NSDictionary *)sender
{
NSMutableDictionary * dict_mutable = [[NSMutableDictionary alloc] init];
NSArray * keys = sender.allKeys;
for (NSString * key in keys) {
if ([[sender objectForKey:key] isKindOfClass:[NSDictionary class]]) {
NSDictionary * tempDict = [self checkDict:[sender objectForKey:key]];
[dict_mutable setObject:tempDict forKey:key];
}
else{
if ([[sender objectForKey:key] isKindOfClass:[[NSNull null] class]]) {
[dict_mutable setObject:@"" forKey:key];
}
else{
[dict_mutable setObject:[sender objectForKey:key] forKey:key];
}
}
}
return dict_mutable;
}
- (NSDictionary *)checkDict:(NSDictionary *)sender
{
NSMutableDictionary * dict_mutable = [[NSMutableDictionary alloc] init];
NSArray * keys = sender.allKeys;
for (NSString * key in keys) {
if ([[sender objectForKey:key] isKindOfClass:[NSDictionary class]]) {
NSDictionary * tempDict = [self checkDict:[sender objectForKey:key]];
[dict_mutable setObject:tempDict forKey:key];
}
else{
if ([[sender objectForKey:key] isKindOfClass:[[NSNull null] class]]) {
[dict_mutable setObject:@"" forKey:key];
}
else{
[dict_mutable setObject:[sender objectForKey:key] forKey:key];
}
}
}
return dict_mutable;
}
相关文章推荐
- "Microsoft Office Access 不能在追加查询中追加所有记录。 Microsoft Office Access设置1字段为Null是因为类型转换失败,它未将0记录添加到表是因为键值冲突,没有添加0记录是因为锁定冲突,没有添加0记录是因为
- 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如 a b c e s f c s a d e e 矩阵中包含一条字符串"bccced"的路径,但是矩阵中不包含"abcb"路径,因为字符串的第一个字符b占据了矩阵中
- C# 异常"关于对象不能从DBNull转换为其他类型"
- 编译时检查类型之间是否可以相互转换
- 无法确定条件表达式的类型,因为“<null>”和“int”之间没有隐式转换
- C# 异常"关于对象不能从DBNull转换为其他类型"
- 判断C#中的字符串是否是数字,如果是转换成int类型
- EF中Sum()异常:到值类型“System.Decimal”的强制转换失败,因为具体化值为 null。
- 关于Entity Framework更新的几种方式以及可能遇到的问题(附加类型“Model”的实体失败,因为相同类型的其他实体已具有相同的主键值)在使用 "Attach" 方法或者将实体的状态设置为 "Unchanged" 或 "Modified" 时如果图形中的任何实体具有冲突键值,则可能会发生上述行为
- C#先把数值类型转换为带千分位的字符串,再判断是否带小数,如果带小数,保存两位小数,不带,不保留。
- 判断C#中的字符串是否是数字,如果是转换成int类型
- 005_012 Python 检查序列的成员 in影响性能,而且不能转换为字典或者集合,需要保留原来的顺序
- model层操作时,数据库中的一些列不能为null,一些列不能接受String类型的存入时,一些解决的办法
- error c2664:"MessageBoxW":不能将参数2从“const char[15]”转换为“LPCWSTR”与指向的类型无关
- ASP.NET里面,如果设置了form的 onsubmit="return false;"之后,就不能提交按钮了?
- js里面null,0,"",false,undefined是否相等问题
- 初学iBATIS的朋友,如果你不看我这篇文章,你一定后悔,因为它官方文档里面的示例少一个")"
- 面试题: 看下面的程序是否有问题 如果有问题请指出 并说明 (关于数据类型-隐性转换的小陷阱)
- 判断C#中的字符串是否是数字,如果是转换成int类型
- 数据库里面DataTime时间类型字段,如果为null时