2010-11-19 7 views
0

仲間の開発者サブビュー追加後のオブジェクトリーク

私はUIButtonの背景としてWeb画像を設定しようとしています。ビルドして分析すると、すべてが例外的に機能し、画像には+1の参照が残っていることがわかります。 addSubviewで解決しないと、aImageのリリースを追加できません。カスタムdeallocをサブクラス化して書くことで解決できるかもしれませんが、それは複雑な解決策のように感じます。誰にも何か提案はありますか?ありがとう!

答えて

1

aImageに自動解放を追加するか、手動でリリースを呼び出します。

UIImage *aImage = [[[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:mUrl]] autorelease]; 

setBackgroundImage:を呼び出すと、ボタンは画像上で保持を実行しています。 alloc/initを実行したときには、決して解放されなかった保持を行いました。

+0

これは魅力的でした!ありがとう! – Wicketman

0

aImageは、実行が終了すると、allocコールから1つ、setBackgroundImage:forState:コールから1つの参照カウントを持つ必要があります。 setBackgroundImage:forState:の後に解放してallocとのバランスを取る必要がありますが、参照カウントは1です。これは予期されています。そうでない場合はmyOverviewButtonには画像がありません。 myOverviewButtonが割り当てを解除すると、0に下がるはずです。

関連する問題