本篇文章為大家展示了怎么在iOS中判斷字符串是否為空,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
前言:
判斷字符串為空:看似簡單的問題,有人會說不就使用[string isEqualToString:@""]或者更簡單的string.text == 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中判斷字符串是否為空,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。