Code: if ([Square isSubclassOfClass: [Rectangle class]] == YES); In the definition of "isSubclassOfClass" the return type is BOOL. BOOL is defined as a signed char. Now, if NO is 0, and YES **could** be anything but 0, would it not be better??? to have the comparison be to "!= 0" ? Thanks in advance.