美文网首页
iOS开发过程中数据为空的各种情况

iOS开发过程中数据为空的各种情况

作者: 编程_书恨少 | 来源:发表于2017-06-16 16:27 被阅读0次

在开发的过程当中,我们经常会遇到后端返回的数据为空的情况。
1、之前我们的后端语言用的是python,后端的全部接口都是和前端同步的,所以数据为空基本上只需要判断两种情况。

NSDictionary *dict = [NSDictionary dictionary];
    
    NSString *name = dict[@"name"];
    
    if (name != nil && name != 0) {
        
        // do something
    }

这样做数据为空的判断是最简单的,但是这中情况只出现在与你对接的后端数据非常靠谱的情况下。
2、后来换了一家公司,后端的语言用的是PHP,当然我也认为PHP是世界上最好的编程语言,没有之一,但是我遇到了很多种数据为空的情况。下面我们来详细的看一看各种“空数据”都怎么样判定。

+ (BOOL)isBlankString:(NSString *)str
{
    if (!str)
    {
        return YES;
    }
    
    if ([str isKindOfClass:[NSNull class]])
    {
        return YES;
    }
    
    if ([str isEqual:[NSNull null]])
    {
        return YES;
    }
    
    if ([str isEqual:@"null"])
    {
        return YES;
    }
    
    if (str == NULL)
    {
        return YES;
    }
    
    
    if ([[str stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] length] == 0)
    {
        return YES;
    }
    
    return NO;
}

在这里呢,小弟先给大家提供一个可以判定任何空数据的方法,大家只需要创建一个分类即可。不知道各位看到这个方法的第一反应是什么,有没有同学会觉得,为什么要用类方法呢,用对象方法不就可以了,因为本身这个方法就是NSString的分类方法,何必要用类方法呢,还要把字符串本身传进来。
有这个疑问的同学,那你的运行时肯定是没学好,一个空的对象调用任何方法都不会响应的。
上面我所判定的各种情况是我开发过程当中遇到过的(Swift中还有其他的空数据类型),这里我先只给出OC的工具,去年写了一年的Swift,很久没有整理东西了,欢迎大家补充。

相关文章

  • iOS开发过程中数据为空的各种情况

    在开发的过程当中,我们经常会遇到后端返回的数据为空的情况。1、之前我们的后端语言用的是python,后端的全部接口...

  • 一行代码集成表空白视图

    iOS开发过程中,当UITableView的数据源为空的时候,为了产品有良好的用户体验,常常会显示一个含有友好提示...

  • iOS常用宏 定义

    iOS开发过程中,使用的一些常用宏定义 字符串是否为空#define kStringIsEmpty(str) ([...

  • NSDictionary中读取到'null'值时

    在iOS app开发中,偶尔会出现这种场景,由于后台人员对于接口数据没有做空值处理,导致客户端接收到的有些数据为空...

  • mysql取得空值null置为零

    背景: 开发过程中遇到取数据为空值,而后需要对该空字段进行算数运算,于是在后台进行了判断空值,并为空值赋值为0。最...

  • 浅谈移动端数据库选型:WCDB、Realm和FMDB

    在开发iOS移动端的过程中,难免会涉及到使用数据库的情况,那么在iOS开发的过程中,我们应该选择哪种数据库作为应用...

  • iOS 防止字典缺少参数崩溃

    在iOS 开发过程中NSDictionary 使用量是非常大的 但是如果有nil或者为空的话就会造成崩溃示例:NS...

  • 11

    ​ [TOC] 1.引言 1.1目的 ​ 本文档的目标用户为iOS开发人者,提供在iOS项目开发过程中...

  • 【Objective-C】各种数据类型的空值判断方法

    在开发中,请求数据会遇到返回为空的情况,比如得到的情况,我们需要判断是否为空,不为空才封装数据模型,为...

  • iOS开发对象判空

    iOS 开发之对象为空的判断(nil、null)详解 在开发中,会遇到很多空的情况,有时候取得对象(null),还...

网友评论

      本文标题:iOS开发过程中数据为空的各种情况

      本文链接:https://www.haomeiwen.com/subject/xplmqxtx.html