iOS开发中判断字符串为空的⽅法
前⾔:
判断字符串为空:看似简单的问题,有⼈会说不就使⽤[string isEqualToString:@""]或者更简单的 == nil就⾏了嘛。但是并没有考虑到其中存在的⼀些问题,例如当字符串中存在空格或者换⾏时或者当请求后台数据时得到的是进⾏JSON解析的时候,如果解析出的NSDictionary中某个key对应的value为空, 则系统会把它处理为NSNull类的单例对象。这些情况下,上⾯的判断⽅法就不会起到作⽤。
具体实现:
+ (BOOL)isBlankString:(NSString *)aStr {
if (!aStr) {
return YES;
}
if ([aStr isKindOfClass:[NSNull class]]) {
return YES;
}
NSCharacterSet *set = [NSCharacterSet whitespaceAndNewlineCharacterSet];
NSString *trimmedStr = [aStr stringByTrimmingCharactersInSet:set];
if (!trimmedStr.length) {
return YES;
}
return NO;
}
具体解释:
代码中包含了NSString为空的三种情况:
1.NSString对象没有初始值。
if (!aStr) {
return YES;
}
空字符串是什么2.期望得到⼀个NSString字符串, 但却不幸遇到了NSNull。
if ([aStr isKindOfClass:[NSNull class]]) {
return YES;
}
3.字符串中除了空格和换⾏, 不包含任何其他字符。
对于这种情况, 可以借助字符集类NSCharacterSet和NSString类的⼀个⽅法来做判断, 具体代码如下:
// 创建⼀个字符集对象, 包含所有的空格和换⾏字符
NSCharacterSet *set = [NSCharacterSet whitespaceAndNewlineCharacterSet];
// 从字符串中过滤掉⾸尾的空格和换⾏, 得到⼀个新的字符串
NSString *trimmedStr = [aStr stringByTrimmingCharactersInSet:set];
// 判断新字符串的长度是否为0
if (!trimmedStr.length) {
// 字符串为空
}
总结
以上所述是⼩编给⼤家介绍的iOS开发中判断字符串为空的⽅法,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。在此也⾮常感谢⼤家对⽹站的⽀持!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论