@"" 和 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输入的内容是空时,也可以用此方法判断内容是否为空