• 请求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

  • 相关阅读:
    开发脚本自动部署及监控
    内存进程与软件包安装
    Linux常用指令
    网络协议
    Python基础(二)
    python基础(一)
    shell编程
    正则与sed,grep,awk三剑客
    网络配置和元字符
    nginx
  • 原文地址:https://www.cnblogs.com/shenlaiyaoshi/p/5737754.html
Copyright © 2020-2023  润新知