http://stackoverflow.com/questions/6782190/vs-nil-in-objective-c
if(!ivar) { //do something } or if(nil != ivar) { //do something }簡單重點:
(!ivar)是利用原始C沒有確切的boolean值這個特性,若0則判斷為假,非0則判斷為true。
在Obj-C里,若欲判斷標的為指標的話,因為nil「通常」會是0x000000,所以如果不是0x000000,則為true。
但是,nil有可能不是0x000000,所以理論上,寫(nil != ivar)是比較安全的。
沒有留言:
張貼留言