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

  • 相关阅读:
    ST表
    容斥原理
    扩展欧几里得算法
    C++ 快读快写模板
    单例模式的装饰器实现
    使用python+poco+夜神模拟器进行自动化测试
    使用Airtest超快速开发App爬虫
    mysql优化
    在浏览器中输入URL并回车后都发生了什么?
    第一次博客作业
  • 原文地址:https://www.cnblogs.com/shenlaiyaoshi/p/5737754.html
Copyright © 2020-2023  润新知