@"" 和 nil Nil NULL NSNull 的區別
@"" 出現的狀況,當字符串是從textfiled中取值時,如果只是點擊了textfiled的輸入狀態,沒有輸入內容,就會出現@""; 因此,對于如何判斷字符串是否為空做了一點點梳理
點擊textfiled時,系統已經對它分配了內存,內存的大小依據字符串的長度來定。
以下幾個是常用來作為判斷的方法:
NULL 是宏,是對于 C 語言指針而使用的,表示空指針,
NULL與0、空字符串、空格都不同,NULL沒有分配存儲空間。
nil 是宏,是對于 Objective-C 中的對象而使用的,表示對象為空
Nil 是宏,是對于 Objective-C 中的類而使用的,表示類指向空
NSNull 是類類型,是用于表示空的占位對象,與 JS 或者服務端的 null 類似的含意
NSString 本身有一個方法,對字符串的長度進行判斷,
- (NSString *)stringByTrimmingCharactersInSet:(NSCharacterSet *)set;
例如:
NSString *zijinStr;
if ([[zijinStr stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length] == 0) {
zijinStr = @"0";
}
//此方法意為去掉字符串首尾的空格,然后判斷字符串的長度,即可得到字符串是否為空
如果textfiled輸入的內容是空時,也可以用此方法判斷內容是否為空