无标题文章

判断一些对象是否为空的方法

判断字符串是否为空

-  (BOOL) isBlankString:(NSString *)string {

    if (string == nil || string == NULL) {

        return YES;

    }

    if ([string isKindOfClass:[NSNull class]]) {

        return YES;

    }

    if ([[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length]==0) {

        return YES;

    }

    return NO;

} 

判断数组是否为空


if (array != nil && ![array isKindOfClass:[NSNull class]] && array.count != 0)

参考相关特性

NSNull是一个特殊的类,它和nil一样,也代表空值,但二者有区别,NSNull不接收NSArray的那些方法,它只有一个类方法:

+(NSNull *)null;
因此发送NSArray特有的方法或属性访问都会导致程序crash。我们做空值判断的很大一部分原因就是为了在后台接口数据返回一些异常数据的时候,程序能保证稳定性。

举个例子:某些情况下,后台可能由于各种原因,对某个字段返回了null值,这时我们取到的就是[NSNull null]这样一个对象,再比如说,后台可能对某一个数据取值,但取到了0个,这时返回的是一个空组,我们取到的就是@[],空数组。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 5,845评论 0 9
  • http://blog.csdn.net/david21984/article/details/57451917 ...
    紫色冰雨阅读 3,658评论 0 0
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 8,461评论 0 4
  • 隔着窗 白云就在旁边流动盘旋 如同生活在天际 滚动着白色的缥缈 行走在路上 一片光亮 云彩围绕着前行 有时在眼前 ...
    满心繁华似锦阅读 3,122评论 2 3
  • 作者 五盛缘老爹 吃汁要顺应天时地利,抓住大好时光,把全天单一饮食安排在气候适宜的季节里进行。从二十四节气上看,若...
    五盛缘老爹排毒养生阅读 9,610评论 0 5