ios判断字符串是否为空和数组是否为空
来源:互联网 发布:php 一致性hash算法 编辑:程序博客网 时间:2024/05/17 00:07
- (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;
}
NSNull是一个特殊的类,它和nil一样,也代表空值,但二者有区别,NSNull不接收NSArray的那些方法,它只有一个类方法:
+(NSNull *)null;
因此发送NSArray特有的方法或属性访问都会导致程序crash。我们做空值判断的很大一部分原因就是为了在后台接口数据返回一些异常数据的时候,程序能保证稳定性。
举个例子:某些情况下,后台可能由于各种原因,对某个字段返回了null值,这时我们取到的就是[NSNull null]这样一个对象,再比如说,后台可能对某一个数据取值,但取到了0个,这时返回的是一个空组,我们取到的就是@[],空组。
因此判断数组是否为空,需要对各种情况都进行判断。写法有很多种,比如你可以写成:
if (array != nil && ![array isKindOfClass:[NSNull class]] && array.count != 0)
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;
}
NSNull是一个特殊的类,它和nil一样,也代表空值,但二者有区别,NSNull不接收NSArray的那些方法,它只有一个类方法:
+(NSNull *)null;
因此发送NSArray特有的方法或属性访问都会导致程序crash。我们做空值判断的很大一部分原因就是为了在后台接口数据返回一些异常数据的时候,程序能保证稳定性。
举个例子:某些情况下,后台可能由于各种原因,对某个字段返回了null值,这时我们取到的就是[NSNull null]这样一个对象,再比如说,后台可能对某一个数据取值,但取到了0个,这时返回的是一个空组,我们取到的就是@[],空组。
因此判断数组是否为空,需要对各种情况都进行判断。写法有很多种,比如你可以写成:
if (array != nil && ![array isKindOfClass:[NSNull class]] && array.count != 0)
阅读全文
0 0
- ios判断字符串是否为空和数组是否为空
- iOS判断字符串是否为空字符串
- iOS 判断数组是否为空
- IOS判断字符串是否为空!
- iOS 判断字符串是否为空
- IOS---判断字符串是否为空
- 判断数组是否为空
- 判断数组是否为空
- 判断字符串是否为空
- 判断是否为空字符串
- 判断字符串是否为空
- 判断字符串是否为空
- 判断字符串是否为空
- 判断字符串 是否为空
- 判断字符串是否为空
- 判断字符串是否为空
- 判断字符串是否为空
- 判断字符串是否为空
- 《计算机网络原理》_物理层
- SQL判断成员是否在部门列表中
- 424. Longest Repeating Character Replacement
- 基础复习06
- 可伸缩TextView和TextView显示错位问题
- ios判断字符串是否为空和数组是否为空
- 通过 pyodbc 连接access读取数据
- largest-rectangle-in-histogram
- 第三周java作业
- MATLAB图像处理基础知识3 findpeaks xlim
- ZigBee CC2530 Z-Stack 24 基于系统时钟的多功能按键1-实现
- Gulp入门基础总结
- C语言 没有重载,通过数组验证数据类型占字节数
- Kaldi-Timit 训练