可可触摸。这些NSMutableData方法之间的区别究竟是什么?

我有点不清楚的一点是这些NSMutableArray方法之间的区别:
// Class Method Style

NSMutableData *myMutableDataInstance = [NSMutableData dataWithLength:WholeLottaData];
// Instance Method Style

NSMutableData *myMutableDataInstance = nil;

myMutableDataInstance = [[[NSMutableData alloc] initWithLength:WholeLottaData]] autorelease];
在引擎盖下,这里的类方法究竟是什么?它与实例方法有何不同? 干杯, 道格     
已邀请:
类方法创建并自动释放NSMutableArray对象。 实例方法初始化您必须自己分配的对象。你写的代码实际上不会做任何事情,因为
myMutableArrayInstance
nil
。类方法大致相当于:
NSMutableArray *myMutableArrayInstance = [NSMutableArray alloc];
[myMutableArrayInstance initWithCapacity:WholeLottaData];
[myMutableArrayInstance autorelease];
正如Peter Hosey在评论中指出的那样,它的确意味着:
NSMutableArray *myMutableArrayInstance = [[[NSMutableArray alloc]
                                           initWithCapacity:WholeLottaData]
                                           autorelease];
如果
initWithCapacity:
方法返回不同的对象,它将具有与上述不同的结果。     

要回复问题请先登录注册