初始化NSMutableArray:[NSMutableArray array];

Cor*_*oyd 7 cocoa cocoa-touch objective-c

如果使用上面的NSArray方便方法初始化NSMutableArray,你会得到一个NSArray或NSMutableArray吗?

任何后果?

(我知道NSMutableArray有"arrayWithCapacity:",我只是好奇)

pgb*_*pgb 11

如果您使用以下方法初始化它:

NSMutableArray *array = [NSMutableArray array];
Run Code Online (Sandbox Code Playgroud)

你得到一个NSMutableArray.Objective-C的一个重要特性是类方法由子类继承.

因此,在类方法中,您可以执行以下操作:

+(id)array {
    return [[[self alloc] init] autorelease];
}
Run Code Online (Sandbox Code Playgroud)

并将self引用代码执行(NSArrayNSMutableArray)的类对象.