簡體   English   中英

可可接觸。 這些NSMutableData方法之間的確切區別是什么?

[英]Cocoa-Touch. What Exactly is the Difference Between These NSMutableData Methods?

我不清楚的一件事是這些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:方法返回不同的對象,則結果將與上面的結果不同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM