@"" 和 nil Nil NULL NSNull 的區(qū)別
@"" 出現(xiàn)的狀況,當(dāng)字符串是從textfiled中取值時(shí)夷狰,如果只是點(diǎn)擊了textfiled的輸入狀態(tài)蚂斤,沒(méi)有輸入內(nèi)容漆腌,就會(huì)出現(xiàn)@""; 因此,對(duì)于如何判斷字符串是否為空做了一點(diǎn)點(diǎn)梳理
點(diǎn)擊textfiled時(shí)抖甘,系統(tǒng)已經(jīng)對(duì)它分配了內(nèi)存热鞍,內(nèi)存的大小依據(jù)字符串的長(zhǎng)度來(lái)定。
以下幾個(gè)是常用來(lái)作為判斷的方法:
NULL 是宏衔彻,是對(duì)于 C 語(yǔ)言指針而使用的薇宠,表示空指針,
NULL與0、空字符串米奸、空格都不同,NULL沒(méi)有分配存儲(chǔ)空間昼接。
nil 是宏,是對(duì)于 Objective-C 中的對(duì)象而使用的悴晰,表示對(duì)象為空
Nil 是宏慢睡,是對(duì)于 Objective-C 中的類(lèi)而使用的逐工,表示類(lèi)指向空
NSNull 是類(lèi)類(lèi)型,是用于表示空的占位對(duì)象漂辐,與 JS 或者服務(wù)端的 null 類(lèi)似的含意
NSString 本身有一個(gè)方法泪喊,對(duì)字符串的長(zhǎng)度進(jìn)行判斷,
- (NSString *)stringByTrimmingCharactersInSet:(NSCharacterSet *)set;
例如:
NSString *zijinStr;
if ([[zijinStr stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length] == 0) {
zijinStr = @"0";
}
//此方法意為去掉字符串首尾的空格髓涯,然后判斷字符串的長(zhǎng)度袒啼,即可得到字符串是否為空
如果textfiled輸入的內(nèi)容是空時(shí),也可以用此方法判斷內(nèi)容是否為空