最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

iOS開(kāi)發(fā)中判斷字符串為空的方法

 更新時(shí)間:2017年12月14日 10:12:08   作者:iOS開(kāi)發(fā)周立賀  
判斷字符串為空,看著很簡(jiǎn)單,其實(shí)不然,下面通過(guò)本篇文章給大家介紹了iOS開(kāi)發(fā)中判斷字符串為空的方法,需要的朋友可以參考下

前言:

判斷字符串為空:看似簡(jiǎn)單的問(wèn)題,有人會(huì)說(shuō)不就使用[string isEqualToString:@""]或者更簡(jiǎn)單的string.text == nil就行了嘛。但是并沒(méi)有考慮到其中存在的一些問(wèn)題,例如當(dāng)字符串中存在空格或者換行時(shí)或者當(dāng)請(qǐng)求后臺(tái)數(shù)據(jù)時(shí)得到的是進(jìn)行JSON解析的時(shí)候, 如果解析出的NSDictionary中某個(gè)key對(duì)應(yīng)的value為空, 則系統(tǒng)會(huì)把它處理為NSNull類的單例對(duì)象。這些情況下,上面的判斷方法就不會(huì)起到作用。

具體實(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對(duì)象沒(méi)有初始值。

if (!aStr) {
    return YES;
  }

2.期望得到一個(gè)NSString字符串, 但卻不幸遇到了NSNull。

if ([aStr isKindOfClass:[NSNull class]]) {
    return YES;
  }

3.字符串中除了空格和換行, 不包含任何其他字符。

對(duì)于這種情況, 可以借助字符集類NSCharacterSet和NSString類的一個(gè)方法來(lái)做判斷, 具體代碼如下:

// 創(chuàng)建一個(gè)字符集對(duì)象, 包含所有的空格和換行字符
NSCharacterSet *set = [NSCharacterSet whitespaceAndNewlineCharacterSet];
// 從字符串中過(guò)濾掉首尾的空格和換行, 得到一個(gè)新的字符串
NSString *trimmedStr = [aStr stringByTrimmingCharactersInSet:set];
// 判斷新字符串的長(zhǎng)度是否為0
if (!trimmedStr.length) {
  // 字符串為空
}

總結(jié)

以上所述是小編給大家介紹的iOS開(kāi)發(fā)中判斷字符串為空的方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • iOS tableView多輸入框如何獲取數(shù)據(jù)

    iOS tableView多輸入框如何獲取數(shù)據(jù)

    這篇文章主要給大家介紹了關(guān)于iOS tableView多輸入框如何獲取數(shù)據(jù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 詳解iOS應(yīng)用開(kāi)發(fā)中autoresizing尺寸自動(dòng)適應(yīng)屬性的用法

    詳解iOS應(yīng)用開(kāi)發(fā)中autoresizing尺寸自動(dòng)適應(yīng)屬性的用法

    這篇文章主要介紹了iOS應(yīng)用開(kāi)發(fā)中autoresizing尺寸自動(dòng)適應(yīng)屬性的用法,文中講解了使用代碼和Storyboard兩種方式調(diào)節(jié)autoresizing的方法,示例代碼為Objective-C,需要的朋友可以參考下
    2016-03-03
  • IOS開(kāi)發(fā)之路--C語(yǔ)言預(yù)處理

    IOS開(kāi)發(fā)之路--C語(yǔ)言預(yù)處理

    由于預(yù)處理指令是在編譯之前就進(jìn)行了,因此很多時(shí)候它要比在程序運(yùn)行時(shí)進(jìn)行操作效率高。在C語(yǔ)言中包括三類預(yù)處理指令,今天將一一介紹:宏定義、條件編譯、文件包含
    2014-08-08
  • iOS編寫(xiě)下拉刷新控件

    iOS編寫(xiě)下拉刷新控件

    這篇文章主要介紹了iOS編寫(xiě)下拉刷新控件的相關(guān)資料,iOS如何寫(xiě)個(gè)普通的下拉刷新的控件,需要了解的朋友可以參考下文
    2016-04-04
  • iOS之單獨(dú)使用UISearchBar創(chuàng)建搜索框的示例

    iOS之單獨(dú)使用UISearchBar創(chuàng)建搜索框的示例

    本篇文章主要介紹了iOS之單獨(dú)使用UISearchBar創(chuàng)建搜索框的示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-10-10
  • IOS 解決推送本地國(guó)際化 loc-key 本地化失敗的問(wèn)題

    IOS 解決推送本地國(guó)際化 loc-key 本地化失敗的問(wèn)題

    本文主要介紹IOS 推送國(guó)際化問(wèn)題,在開(kāi)發(fā) IOS 項(xiàng)目過(guò)程中對(duì)軟件的國(guó)際化有的項(xiàng)目需求是需要的,這里給大家一個(gè)示例,有需要的小伙伴可以參考下
    2016-07-07
  • iOS關(guān)聯(lián)對(duì)象示例詳解

    iOS關(guān)聯(lián)對(duì)象示例詳解

    這篇文章主要給大家介紹了關(guān)于iOS關(guān)聯(lián)對(duì)象的相關(guān)資料,文中通過(guò)示例代碼結(jié)束的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用iOS具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • IOS 指紋識(shí)別兩種方式詳解及實(shí)例

    IOS 指紋識(shí)別兩種方式詳解及實(shí)例

    這篇文章主要介紹了IOS 指紋識(shí)別兩種方式詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • IOS改變UISearchBar中搜索框的高度

    IOS改變UISearchBar中搜索框的高度

    這篇文章主要介紹了IOS改變UISearchBar中搜索框的高度的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • iOS逆向工程使用dumpdecrypted工具給App脫殼

    iOS逆向工程使用dumpdecrypted工具給App脫殼

    這篇文章主要介紹了iOS逆向工程使用dumpdecrypted工具給App脫殼的相關(guān)資料,本文圖文并茂給大家介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-09-09

最新評(píng)論

阳原县| 西青区| 南昌县| 蒲江县| 平凉市| 宝兴县| 天等县| 宁夏| 轮台县| 大邑县| 永和县| 威海市| 曲靖市| 车险| 普兰店市| 西林县| 海宁市| 云龙县| 长汀县| 南岸区| 沾益县| 资阳市| 绿春县| 页游| 宜兴市| 大英县| 会同县| 石渠县| 和林格尔县| 拜泉县| 景德镇市| 防城港市| 滕州市| 阿鲁科尔沁旗| 收藏| 蓝田县| 灌阳县| 崇州市| 通河县| 太仆寺旗| 曲阳县|