Ah, hmm; well in the case of them both being NSCFArray's, that does
sound right; thanks :-)

What I was worried about is that maybe NSMutableArray (or any
sub-class in general) would need to do some special sub-class-specific
initialization, which it might not have implemented. I guess though,
if you're going to be sub-classing a class, then you ought to
generally make sure that all of it's static method will work on your
new sub-class?

There's always the danger that the super-class will have new static
methods added without your knowledge though.

-Patrick

On Thu, Apr 8, 2010 at 10:25 AM, Dave DeLong <davedel...@me.com> wrote:
> Yes, that is safe to use.  It's safe to use because classes are really just 
> special objects, which means they get all the class method inheritance that 
> instances get with instance methods.  This will work in every case where the 
> implementors have used:
>
> [[[self alloc] init] autorelease]  //this will instantiate a new instance of 
> whatever class invokes this method
>
> Instead of
>
> [[[MyClass alloc] init] autorelease]  //this will instantiate a new instance 
> of MyClass, regardless of which class invoked this method
>
> Just like in instance methods, class methods have an implicit "self" variable 
> that refers to the Class itself.
>
> Beyond that, NSMutableArray and NSArray are really just the same class 
> (NSCFArray, usually), with mutability determined by an internal flag.
>
> Cheers,
>
> Dave
>
> On Apr 8, 2010, at 8:20 AM, Patrick M. Rutkowski wrote:
>
>> Is is safe to do [NSMutableArray array], even with the "array" class
>> method is actually declared as +[NSArray array]. In other words, is it
>> safe to call a super-class' class method.
>>
>> If not, why?
>>
>> If so, why? And also, is it generally safe in _all_ cases, or only
>> just when specifically crafted to work?
>>
>> Many thanks,
>> -Patrick
>
> _______________________________________________
>
> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/cocoa-dev/rutski89%40gmail.com
>
> This email sent to rutsk...@gmail.com
>
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to