0

アプリで画像のグリッドを表示するために AQGridView を使用しています。ユーザーがアルバムをクリックすると、すべての画像を含むグリッドで新しいコントローラーが開きます。問題は、ユーザーが戻るボタンを押してアルバムのリストに戻るときに、グリッド ビューの割り当て解除が呼び出されないことです。ビュー コントローラの dealloc に文字列を記録しましたが、それが呼び出されています。Instruments でヒープショットを確認しましたが、ビューがポップされた後でも、AQGridView に関連するすべての割り当てが解除されません。Interface Builder を使用してグリッド ビューを作成し、.h ファイルでグリッド ビューに接続します。

@property (weak, nonatomic) IBOutlet AQGridView *gridView;

グリッド ビューへの他のポインターは保持していません。プロジェクトにARCを使用しています。グリッド ビュー コントローラーの割り当て解除で何らかの形で gridView の割り当てを解除する必要がありますか、それとも ARC によって自動的に処理されますか? そうである場合、何が割り当て解除を妨げている可能性がありますか?

編集: NSOperationQueue を使用してバックグラウンドで画像を読み込み、画像が読み込まれた後、それらをグリッド セルに配置します。

4

1 に答える 1

0

グリッド ビュー コントローラーのdeallocメソッドで、gridView ポインターを nil に設定します。

-(void)dealloc
{
    self.gridView = nil; 
}
于 2012-08-23T22:17:34.297 に答える