2011-12-10 15 views
0

可能性の重複:初期化オブジェクト

NSMutableData *myData = [NSMutableData data]; 
NSMutableString *myString = [NSMutableString string]; 

NSMutableData *myData = [[NSMutableData alloc] init]; 
NSMutableString *myString = [[NSMutableString alloc] init]; 

Diference between [NSMutableArray array] vs [[NSMutableArray alloc] init]

のObjective-C/Cocoaのを使用して、違いは何でしょう

私の言う限り、彼らは同じ最終結果を持っているようですね?

+2

["オブジェクトの作成"](http://developer.apple.com/library/ios/documentation/General/Conceptual/DevPedia-CocoaCore/ObjectCreation.html#//apple_ref/doc/uid/)をご覧ください。 TP40008195-CH39-SW1)をCocoa Core Competencies Guideに掲載しました。 –

+1

見て@リンゴのメモリガイド - 重要な読書。 alloc、copy、mutableCopyはあなたがそれを所有し、あなたが解放する必要があることを意味します。他のものは(慣例により)autoreleaseを呼び出し、次のサイクルで解放されます... – bryanmac

+1

あなたが持っている関数の範囲外でオートリリースされたものを保持する必要があるなら、それを保持してから後で解放する必要があります。 – bryanmac

答えて

-1

[NSMutableDataデータ]がHelper functions in Cocoa

ヘルパーは、一般的にあなたのためのメモリ管理の世話をする、この記事をチェックし、ヘルパーと呼ばれ、また、シングルトンを返すために使用することができます。

[[NSMutableData] alloc] init]、あなたはメモリ管理を担当します。

ARCを使用している場合は、オブジェクトをリリースする必要はありませんが、あなたのために行います。

+5

リンク先の投稿はこれと関連がありません。これらのメソッドは "便利なコンストラクタ"です。 –

関連する問題