Why are class methods such as
+ (NSMutableArray *)array;
needed when there are perfectly fine parent class methods such as
+ arrayWithObjects:(id)firstObj, ...;
which could be set to
[array arrayWithObjects:nil]
and have the same effect.
Are they actually not equivalent things?
They’re convenience methods, to make it easier to just get an autoreleased object fast instead of having to write a lot more to get the same result.
BTW,
NSArraydoes not have an instance method calledarrayWithObjects, they are only class methods.