如果您使用上述NSArray的便捷方法初始化NSMutableArray,您会得到一个NSArray还是一个NSMutableArray?
有什么后果吗?
(我知道NSMutableArray有“arrayWithCapacity:”,我只是好奇)
有什么后果吗?
(我知道NSMutableArray有“arrayWithCapacity:”,我只是好奇)
如果你使用以下方式进行初始化:
NSMutableArray *array = [NSMutableArray array];
你得到了一个NSMutableArray。Objective-C的一个伟大特点是子类可以继承父类方法。
因此,在一个类方法中,你可以这样做:
+(id)array {
return [[[self alloc] init] autorelease];
}
而self
将引用执行代码的类对象(NSArray
或NSMutableArray
)。
NSCFArray
吧? - Jim Dovey