compare - comparing nil to integer in Objective-C -
in following case string nsstring
if (string.length < 1) { return; } and string turns out nil if statement still evaluate correctly because in case nil evaluates 0.
however, recommended practice (by clang or apple) , there arguments against , doing closer to:
if (!string || string.length < 1) { return; }
it's common like:
if (string.length) { // string not nil , string has non-zero length } else { // either string nil or length 0 } there no need, in such case, check see if string nil or not.
when string nil, end doing [nil length]. calling method on nil pointer results in value of "zero". how "zero" interpreted depends on method's return type.
primitive types appear 0. bool appears no. pointers appear nil.
Comments
Post a Comment