I have a method that receives many different kinds of objects and decides what to do with them:
-(void)performAction:(NSObject *)myAction withItem:(Item *)my
You can try using isKindOfClass: instead of isMemberOfClass:.
isKindOfClass:
isMemberOfClass:
The first one will return YES for objects that are either instances of the class you send, or subclasses of it, as it may be the case for NSCFArray.
NSCFArray