The setHighlighted:
method takes a type of BOOL
. This is not an object type. Therefore you can't use the makeObjectsPerformSelector:withObject:
method.
It seems to work when passing @YES
because you are passing a pointer to an object to the BOOL
parameter. The non-zero value gets treated like a YES
value. When you pass @NO
you are also passing a pointer. Since it is also a non-zero value, it also gets treated like a YES
value.
You may get the desired effect of NO
by passing nil
to the withObject:
parameter. The nil
value will be 0 which is the same value as NO
.
But these are kludges. Use the loop approach instead.