判断字符串为空时,注意是在什么使用场景下,做到代码精简有效,不拖泥带水。
1. NSString对象为空
/**
* NSString对象,没有初始值
* nil是OC语言空对象,NULL是C语言的空指针
* 结论:只做nil判断就可以
*/
if (nil == str||NULL = str) {
return;
}
if (nil == str) {
return;
}
// 或
if (!str) {
return;
}
2. NSNull对象
前端请求后端返回数据通常为JSON格式,解析后为NSDictionary或NSArray格式数据,需要注意的地方就是:字典与数组不能存空值,否则崩给你看,所以需要做以下空判断。
NSString *value = dic[@"key"];
if ([value isKindOfClass:[NSNull class]]) {
return;
}
3. length = 0情况
// 空字符串
if (0 == str.length) {
return;
}
// 针对一种情况:字符串中有空格或者换行
NSCharacterSet *set = [NSCharacterSet whitespaceAndNewlineCharacterSet];
// 从字符串中过滤掉首尾的空格和换行, 得到一个新的字符串
NSString *nStr = [str stringByTrimmingCharactersInSet:set];
if (!nStr.length) {
return;
}
以上是我总结的几点,如果哪边不合理,希望在评论区留言指正。
网友评论