ビューのカスタム階層があります。各ビューはその子を保持します。親以外の誰もビューを保持しません。ビューのdeallocが呼び出されると、[子リリース]が呼び出されます。ビューを破棄して関連リソースを削除したい場合は、次のように呼び出します。
[mainView release];
[resourceManager deleteRelatedResources];
ほとんどの場合、それはうまく機能し、呼び出しの順序は次のとおりです。
- mainViewdealloc;
- mainViewの子のdealloc;
- mainViewの孫のdeallocなど。
- deleteRelatedResources
しかし時々(約1%の時間)私は別の注文をします:
- mainViewdealloc;
- deleteRelatedResources
- mainViewの子のdealloc;
- mainViewの孫のdeallocなど。
私は、リソース管理のためのdeallocの呼び出しに依存しないようにAppleからの推奨を見つけました。[子どもの釈放]の直後ではなく、子どもの意見のデロックが呼ばれる可能性があるというのは本当ですか?回避策はありますか?(私のプロジェクトは、リソース管理スキームを変更するには行き過ぎです)。