iOS 中的幾個Null

在iOS開發(fā)中通常碰到一個問題,就是空。比如說空字符串。
當(dāng)我們在處理或者判斷一個對象是不是為空的時候,該如何處理呢。

nil
對于這個預(yù)定義的標(biāo)識符,#define nil (void*)0
當(dāng)你使用%p轉(zhuǎn)換說明符去打印nil的地址時可以得到 0x0

Null
Null類是Cocoa提供的一個代表空的類,在很多集合類比如NSArray,NSSet等不能存儲nil值,我們可以使用Null類的對象來替代。
[Null null];發(fā)送這個消息產(chǎn)生唯一的空對象,來滿足需求。

@""
關(guān)于這個空字符串,把它理解成一個長度為0的字符串對象即可。

<pre>
封裝一個簡單的判斷字符串是否為空的方法。
應(yīng)用場景:
在做網(wǎng)絡(luò)請求時,服務(wù)器端有可能返回空的字符串,在終端打印出來有時顯示null,(null),或者<null>,

這是由于服務(wù)器端使用不同的語言所導(dǎo)致。我們不能簡單的使用==來與Null的對象進(jìn)行比較。
此外如果我們想過濾掉@" "或者@" "這種空格型字符串,用下面的這個封裝方法就可以解決了。
//

  • (BOOL)isNotEmpty{
    if (self == nil) {
    return NO;
    }

    if([self isKindOfClass:[NSNull class]]){
    return NO;
    }

    if (self.length == 0) {
    return NO;
    }

    if (self.length != 0) {
    return [self stringByReplacingOccurrencesOfString:@" " withString:@""].length != 0;
    }

    return YES;
    }

</pre>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

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