本篇文章為大家展示了怎么在iOS中判斷字符串是否為空,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供法庫網(wǎng)站建設(shè)、法庫做網(wǎng)站、法庫網(wǎng)站設(shè)計(jì)、法庫網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、法庫企業(yè)網(wǎng)站模板建站服務(wù),十年法庫做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
前言:
判斷字符串為空:看似簡單的問題,有人會說不就使用[string isEqualToString:@""]
或者更簡單的string.text == nil
就行了嘛。但是并沒有考慮到其中存在的一些問題,例如當(dāng)字符串中存在空格或者換行時(shí)或者當(dāng)請求后臺數(shù)據(jù)時(shí)得到的是進(jìn)行JSON解析的時(shí)候, 如果解析出的NSDictionary
中某個(gè)key對應(yīng)的value為空, 則系統(tǒng)會把它處理為NSNull類的單例對象。這些情況下,上面的判斷方法就不會起到作用。
具體實(shí)現(xiàn):
+ (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.期望得到一個(gè)NSString字符串, 但卻不幸遇到了NSNull。
if ([aStr isKindOfClass:[NSNull class]]) { return YES; }
3.字符串中除了空格和換行, 不包含任何其他字符。
對于這種情況, 可以借助字符集類NSCharacterSet和NSString類的一個(gè)方法來做判斷, 具體代碼如下:
// 創(chuàng)建一個(gè)字符集對象, 包含所有的空格和換行字符 NSCharacterSet *set = [NSCharacterSet whitespaceAndNewlineCharacterSet]; // 從字符串中過濾掉首尾的空格和換行, 得到一個(gè)新的字符串 NSString *trimmedStr = [aStr stringByTrimmingCharactersInSet:set]; // 判斷新字符串的長度是否為0 if (!trimmedStr.length) { // 字符串為空 }
上述內(nèi)容就是怎么在iOS中判斷字符串是否為空,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。