dug*_*gla 1 iphone cocoa class-method nsmutablearray instance-method
我有点不清楚的一点是这些NSMutableArray方法之间的区别:
// Class Method Style
NSMutableData *myMutableDataInstance = [NSMutableData dataWithLength:WholeLottaData];
Run Code Online (Sandbox Code Playgroud)
和
// Instance Method Style
NSMutableData *myMutableDataInstance = nil;
myMutableDataInstance = [[[NSMutableData alloc] initWithLength:WholeLottaData]] autorelease];
Run Code Online (Sandbox Code Playgroud)
在引擎盖下,这里的类方法究竟是什么?它与实例方法有何不同?
干杯,道格
类方法创建并自动释放NSMutableArray对象.
实例方法初始化您必须自己分配的对象.你写的代码实际上不会做任何事情,因为myMutableArrayInstance是nil.类方法大致相当于:
NSMutableArray *myMutableArrayInstance = [NSMutableArray alloc];
[myMutableArrayInstance initWithCapacity:WholeLottaData];
[myMutableArrayInstance autorelease];
Run Code Online (Sandbox Code Playgroud)
正如Peter Hosey在评论中指出的那样,它的确意味着:
NSMutableArray *myMutableArrayInstance = [[[NSMutableArray alloc]
initWithCapacity:WholeLottaData]
autorelease];
Run Code Online (Sandbox Code Playgroud)
如果initWithCapacity:方法返回不同的对象,它将具有与上面不同的结果.
| 归档时间: |
|
| 查看次数: |
406 次 |
| 最近记录: |