2012-04-13 9 views
0

これまでスレッドからUIActivityIndi​​catorViewを更新しようとしています。アプリは終了しているレイヤーを修正する 例外をスローすることでクラッシュしています。 - 0x7e177fd0 - [CALayer removeAnimationForKey:]:メッセージが割り当て解除されたインスタンス0x7e177fd0に送信されました。 私はmallocDebuggerツールからメモリリークを追跡しようとします。私がstopしようとするとメモリがクラッシュするUIActivityIndi​​catorView

このクラッシュは10

のうち1が起こっているすべての時間に起きていないROM、このメモリの問題

NSAutoreleasePool *プール= [[NSAutoreleasePoolのalloc]のinit]私を助けてください。

[autoRechargeCell addSubview:activityIndicator]; 
[self.activityIndicator startAnimating]; 
    if([PennyTalkAPI getBalanceInfoForAccount:appDelegate.accountNumber withPIN:appDelegate.pinNumber]) 
{ 
    [autoRechargeCell.switchField setOn:[[NSUserDefaults standardUserDefaults] boolForKey:@"AutoRecharge"]]; 
    [self.activityIndicator stopAnimating]; <<<<<<<<<<<<<<<<<<<<<< 

} 
else 
{ 
    [self.activityIndicator stopAnimating]; 
} 

[pool release]; 

これは、私はあなたがあなたのアクティビティインジケータをリリースし、その後、あなたがアニメーション化しそれにアクセスしようとしていると仮定し、私はコードを見て、エラーを見ることなく

+0

あなたのコードを投稿してください。 –

+0

のurコードの一部を投稿してください。 – mChopsey

+0

NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; [autoRechargeCell addSubview:activityIndi​​cator]; [self.activityIndi​​cator startAnimating]; if([PennyTalkAPI getBalanceInfoForAccount:appDelegate.accountNumber withPIN:appDelegate.pinNumber] { [autoRechargeCell.switchField setOn:[[NSUserDefaults standardUserDefaults] boolForKey:@ "AutoRecharge"]]; [self.activityIndi​​cator stopAnimating]; } else { [self.activityIndi​​cator stopAnimating]; } [プールの解放]; – Naren

答えて

0

を書かれているコード..

ソリューションです。 .hファイルのUIActivityIndicatorオブジェクトを合成して-(void)deallocメソッドで解放します。

+0

1つのクラスでのみ使用されている場合、なぜそれを合成したいのですか?正しいメモリ管理手順に従うだけです。 –

+0

@NickBull:はい。プロンプトをありがとう。適切な時間と場所でそれをリリースするだけで合成する必要はありません。 :-)) –

+0

私はdeallocメソッドでしか公開しません – Naren

0

これは、ダブルリリースエラーまたはダングリングポインタのいずれかです。あなたのスキームの設定でゾンビの検出を有効にして、ゾンビの楽器を楽器で試してみるべきです。

+0

私はNSZombiesとmallocガードを有効にしています。私は私の活動インジケータをリリースしていない – Naren

関連する問題