I want to accept a Class object as a parameter to a constructor of one of my classes. It needs to do a lot of custom work with it, and I want to abstract that away from the use
If you want to init dealership with a vehicle (I mean an initialized instance) you should do:
- (id)initWithCar:(Vehicle *)carClass
{
//An extra check (only for DEBUG mode)
NSAssert([carClass isKindOfClass:[Vehicle class]]);
... //carClass is now a Vehicle instance
}