2012-05-03 11 views

答えて

3
NSString *str = [objDictionary objectForKey:@"attributeName"]; 

これは、メモリの割り当て/割り当て解除を心配する必要はありません すなわちを割り当て自動解放メモリを持つユーザーのローカル変数にしたいの宣言です。あなたは、単一の文字列で、例えば文字列 と すなわち整数/浮動小数点数を異なるタイプを組み合わせる必要があるとき

NSString *str = [NSString stringWithFormat:@"%@", [objDictionary objectForKey:@"attributeName"]]; 

この方法は便利ですこれは、になります

NSString *str = [NSString stringWithFormat:@"%@ and %d", [objDictionary objectForKey:@"attributeName"], 5]; 

「あなたの価値および5」

NSString *str = [[NSString alloc] initWithString:@"%@", [objDictionary objectForKey:@"attributeName"]]; 

これは、あなたがメモリを割り当てているの割り当てであり、あなたはそれが存在しますので、他のいくつかの場所を使用するために、その変数を持っている必要がありますあなたがその変数のメモリを解放しない限り メモリを割り当てるときには、自分自身を責任あるものとして解放することを確認してください。

詳細な調査のために、NSStringのdocumentationにアクセスすることをお勧めします。これは、利用可能なクラス/インスタンスメソッドと使用方法についてのアイデアを提供します。

+0

これは私のものではなく、受け入れられる回答でなければなりません。代わりにupvoteを持ってください。 – jrturton

+0

Thax jrturton。もう一度Thax:D –

2

辞書に文字列が含まれていると仮定すると、ARCではこれらはすべて同じです。手動参照カウントでは、最初の2つはオートレリースされ、最後のものは保持されます。

リファレンスガイドについては、NSString class referenceよりはるかに優れているわけではありません。

+0

私はあなたの答えを受け入れました。なぜなら、「ARCの下で、それらのすべてが同じです」という明確化のためです。私はARCを使用しています。乾杯... – viral

+0

あなたは深さについても尋ねましたが、他の答えはそれを提供しました! – jrturton

関連する問題