2011-01-21 9 views
1

計器のレポートコードの最初の行にメモリリークがあります。しかし、コードの最後に表示されているように、私はflipcoinオブジェクトをリリースします。私はその行に他のallocがないので、何が問題なのか理解できません。私は、私が誤解しているメモリ管理の一部があると推測しています。誰かが、この報告されたリークを引き起こす可能性のあることについてのヒントを教えてくれますか?計器の漏れを検知しようとしています

flipCoin= [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"0000.png"]]; 
CGRect frameX; 
UIImageView *coinFlipImage = [[UIImageView alloc] initWithImage:[UIImage 
    imageNamed:@"0000.png"]]; 
frameX = coinFlipImage.frame; 
frameX.origin.x = (480/2) - (frameX.size.width/2); 
frameX.origin.y = (320/2) - (frameX.size.height/2); 

[flipCoin initWithFrame:frameX]; 
flipCoin.animationImages = myImages; 
flipCoin.animationDuration = 1.4; // seconds 
flipCoin.animationRepeatCount = 1; // 0 = loops forever 
//[flipCoin startAnimating]; 
[self.view addSubview: flipCoin]; 
[coinFlipImage release]; 
[flipCoin release]; 

多くのおかげ -code

+0

がですが、 'IVARをflipCoin'かローカルvar? – BoltClock

答えて

5

flipCoinでinitを2回実行しています。一度ここ

flipCoin= [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"0000.png"]]; 

そして、ここでは:代わりにちょうどそうのようにフレームを設定し、第2のインスタンスの

[flipCoin initWithFrame:frameX]; 

flipCoin.frame = frameX; 
+0

さらに、オブジェクトの同じインスタンスに対して 'init'メソッドを2回も呼び出さないでください(ここでは同じ' init'メソッドまたは異なる 'init'メソッド)。 – bbum

2

あなたはそれが問題を解決しない

[flipCoin setFrame:frameX]; 

[flipCoin initWithFrame:frameX]; 

を交換した場合は?

関連する問題