2011-02-09 7 views
1

私はオートレリースされたオブジェクトを持っている場合、保持カウント(retainCountメソッドを呼び出すと返される値)がいつ減少するのですか?オブジェクトが割り当てられたメソッドのスコープが終了した時点であると考えていましたが、テストではそのことが示されていません。私は、次のようなコードを持っている:オートレリースされたオブジェクトのデクリメントのカウントはいつ保持されますか?

int itemIndex = 0; 
NSArray* items = [mResponse componentsSeparatedByString:@","]; 
self.mText = (NSString*)[items objectAtIndex:itemIndex++]; 
self.mText = [mText gtm_stringByUnescapingFromURLArgument]; 
NSLog(@"retain count: %d",[mText retainCount]); 

これは(それが理にかなっているように、マルチテキストプロパティを保持している)のカウントのために2を返し、この方法を終了した後、外部からの呼び出しは、同様に2

答えて

5

を返しますDon't look at retainCount。それは誤解を招く。 Memory Management Programming Guideに従う限り、あなたは大丈夫でしょう。

「いつデフォルトの自動解放プールが排水されますか?」という質問に言い換えると、その答えは、制御フローがランループに戻るときです。

関連する問題