gpt4 book ai didi

iphone - cocoa 触感。这些 NSMutableData 方法之间到底有什么区别?

转载 作者:行者123 更新时间:2023-12-03 16:53:25 25 4
gpt4 key购买 nike

我有点不清楚的一件事是这些 NSMutableArray 方法之间的区别:

// Class Method Style

NSMutableData *myMutableDataInstance = [NSMutableData dataWithLength:WholeLottaData];

// Instance Method Style

NSMutableData *myMutableDataInstance = nil;

myMutableDataInstance = [[[NSMutableData alloc] initWithLength:WholeLottaData]] autorelease];

在幕后,类方法到底在做什么?它与实例方法有何不同?

干杯,道格

最佳答案

该类方法创建并自动释放 NSMutableArray 对象。

实例方法初始化一个您必须自己分配的对象。您编写的代码实际上不会执行任何操作,因为 myMutableArrayInstancenil。类方法大致相当于这样:

NSMutableArray *myMutableArrayInstance = [NSMutableArray alloc];
[myMutableArrayInstance initWithCapacity:WholeLottaData];
[myMutableArrayInstance autorelease];

正如 Peter Hosey 在评论中指出的那样,它的真正含义是:

NSMutableArray *myMutableArrayInstance = [[[NSMutableArray alloc]
initWithCapacity:WholeLottaData]
autorelease];

如果 initWithCapacity: 方法返回不同的对象,则会得到与上面不同的结果。

关于iphone - cocoa 触感。这些 NSMutableData 方法之间到底有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1600283/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com