Because messages sent to ``++nil++`` (or a pointer with a ``++nil++`` value) will return zero, it is often not necessary to explicitly ``++nil++``-check a pointer, and doing so  simply adds unnecessary code.


== Noncompliant Code Example

----
if (foo != nil) { // Noncomliant; explicit nil check
  [foo aMethod];
}

if (foo) {  // Noncompliant; implicit nil check
  [foo aMethod];
}
----


== Compliant Solution

----
[foo aMethod];
----

