在開發(fā)過程中捕传,有很多細節(jié)的東西我們都不太注重。今天我們來分析下(null)
和<null>
1扩劝、 (null):字符串默認值
- 什么是
(null)
:(null)
是字符串未賦值時的默認值 - 如何用代碼判斷(null)呢庸论?直接
[str isEqualToString:@""]
?還是[str isEqualToString:@"(null)"]
今野?當然不是這樣了葡公。那我們直接代碼見:
關(guān)于(null)
和nil
的關(guān)系:控制臺中打印的(null) == 代碼中得nil
關(guān)于判斷(null)
我們列舉了5種情況,其中2条霜、3经瓷、5都可執(zhí)行搪缨,也就是都可判斷成功
2、<null>:后臺默認空值
什么是
<null>
:<null>
一般是在我們和后臺接口對接時返回給我們的鍵值對里的空值
我們
iOS開發(fā)
中并不支持<null>
這種空值的,如果你取出來了艘儒,那么恭喜你薯嗤,程序會蹦的一塌糊涂栏尚,保證你打了全局斷點也沒有用归苍。所以就需要我們用isKindOfClass
或isEqual
這兩種方法判斷啊。當然大批量的判斷用這樣的方法是不可取的麸恍。你想下灵巧,如果有一萬條<null>
你還判斷一萬次啊所以想大批量判斷請走這里:大批量判斷后臺NULL傳送門走起 。貌似我們跑偏了抹沪,今天我們重點研究的可不是大批量判斷
那我們就言歸正傳刻肄,首先我們創(chuàng)建一個字符串,然后賦值NULL融欧,直接上圖:
可以看出敏弃,黃色區(qū)域的代碼用來判斷<null>
都是可行的
其實我們?nèi)粘i_發(fā)中還有很多小細節(jié)的東西我們都在不經(jīng)意間忽略
沒有一蹴而就的天才,只有不斷點亮天賦的勤者