1.判断数组为空
if (array != nil && ![array isKindOfClass:[NSNull class]] && array.count != 0) {
// 执行操作
}
2.判断字符串为空
- (BOOL)isBlankString : (NSString *)str {
if (! str) {
return YES;
}
if ([str isKindOfClass:[NSNull class]]) {
return YES;
}
NSCharacterSet *set = [NSCharacterSet whitespaceAndNewlineCharacterSet];
NSString *trimmedStr = [str stringByTrimmingCharactersInSet:set];
if (! trimmedStr.length) {
return YES;
}
return NO;
}
代码中包含了NSString为空的三种情况:
(1) NSString对象没有初始值。
if (! str) {
return YES;
}
(2) 期望得到一个NSString字符串, 但却不幸遇到了NSNull。
if ([str isKindOfClass:[NSNull class]]) {
return YES;
}
(3) 字符串中除了空格和换行, 不包含任何其他字符。
对于这种情况, 可以借助字符集类NSCharacterSet和NSString类的一个方法来做判断, 具体代码如下:
// 创建一个字符集对象, 包含所有的空格和换行字符
NSCharacterSet *set = [NSCharacterSet whitespaceAndNewlineCharacterSet];
// 从字符串中过滤掉首尾的空格和换行, 得到一个新的字符串
NSString *trimmedStr = [str stringByTrimmingCharactersInSet:set];
// 判断新字符串的长度是否为0
if (!trimmedStr.length) {
// 字符串为空
}