iOS開發(fā)對(duì)象判空

iOS 開發(fā)之對(duì)象為空的判斷(nil、null)詳解

在開發(fā)中,會(huì)遇到很多空的情況,有時(shí)候取得對(duì)象(null),還有時(shí)候會(huì)得到<null>的情況,我們需要判斷是否為空,進(jìn)行return;

  id result;
// 針對(duì)(null)這種情況
  if(result == nil) return;
// 針對(duì)<null>的情況
  if([result isEqual:[NSNull null]]) return;
前者的判斷,我們用的比較頻繁,但后者,用的比較少,一般賦值給nil之外的其他空值;

基本數(shù)據(jù)類型的空值判斷
對(duì)于類似于NSString類型的數(shù)據(jù)進(jìn)行空值判斷
NSString *string;
string == nil;
[string isEqualToString:@""];

對(duì)于類似于NSNumber類型的數(shù)據(jù)進(jìn)行空值判斷

NSNumber *number;
number == nil;
[number isEqualToNumber:@0]

對(duì)于類似于NSArray類型的數(shù)據(jù)進(jìn)行空值判斷

NSArray *array;
array == nil;
array.count = 0;

對(duì)于類似于NSDictionary類型的數(shù)據(jù)進(jìn)行空值判斷

NSDictionary *dictionary;
[dictionary isEqual:[NSNull null]];
dictionary.count = 0;

對(duì)于對(duì)象類型的數(shù)據(jù)進(jìn)行空值判斷

可以使用 !(非) 來(lái)判斷
if(!class) return;
判斷對(duì)象是否為空(nil、NSNil、@""、@(0) 以上4種)
@interface NSObject (XL)

/**
 *  判斷對(duì)象是否為空
 *  常見的:nil、NSNil、@""、@(0) 以上4種返回YES
 *  如果需要判斷字典與數(shù)組,可以自行添加
 *  @return YES 為空  NO 為實(shí)例對(duì)象
 */
+ (BOOL)isEmpty:(id)object;

@end

@implementation NSObject (XL)

+ (BOOL)isEmpty:(id)object{
    if (object == nil || [object isEqual:[NSNull null]]) {
        return YES;
    } else if ([object isKindOfClass:[NSString class]]) {
        return [object isEqualToString:@""];
    } else if ([object isKindOfClass:[NSNumber class]]) {
        return [object isEqualToNumber:@(0)];
    }
    return NO;
}
@end
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容