Objective-C does support short-circuit evaluation, just like C.
It seems that in your example myString
is NSNull
and not nil
, therefore myString != nil
is true.
NSNull is a singleton and is used to represent nil
where only objects are allowed, for example in an NSArray.
Btw, normally, people write if (!myString && myString.length == 0)
. Comparing to nil
is quite ugly. Also, I'd compare the length to 0. That seems to be more clear.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…