1.判斷數(shù)組為空
if (array != nil && ![array isKindOfClass:[NSNull class]] && array.count != 0) {
// 執(zhí)行操作
}
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對(duì)象沒(méi)有初始值蜈出。
if (! str) {
return YES;
}
(2) 期望得到一個(gè)NSString字符串, 但卻不幸遇到了NSNull。
if ([str isKindOfClass:[NSNull class]]) {
return YES;
}
(3) 字符串中除了空格和換行, 不包含任何其他字符涛酗。
對(duì)于這種情況, 可以借助字符集類(lèi)NSCharacterSet和NSString類(lèi)的一個(gè)方法來(lái)做判斷, 具體代碼如下:
// 創(chuàng)建一個(gè)字符集對(duì)象, 包含所有的空格和換行字符
NSCharacterSet *set = [NSCharacterSet whitespaceAndNewlineCharacterSet];
// 從字符串中過(guò)濾掉首尾的空格和換行, 得到一個(gè)新的字符串
NSString *trimmedStr = [str stringByTrimmingCharactersInSet:set];
// 判斷新字符串的長(zhǎng)度是否為0
if (!trimmedStr.length) {
// 字符串為空
}