1

私はナビゲーションベースのアプリを持っていて、アプリで狂ったようにMBProgressHudを使用しています。ARCに変換したときに、アプリがクラッシュすることが多く、その理由がわかりませんでした。私はアナライザーツールを使い始め、私のメモリ消費が屋根を越えていることに気づきました。私はすべてのViewControllerにアクセスし、それらのdeallocメソッドをオーバーロードして、NSLogへの書き込みを含め、それらが割り当て解除されているかどうかを通知しました。驚いたことに、MBProgressHUDを使用したViewControllerはどれも割り当てが解除されていませんでした。

私は次のようにMBProgressHUDを呼び出しています:

HUD = [[MBProgressHUD alloc] initWithView:self.navigationController.view];
[self.navigationController.view addSubview:HUD];
HUD.delegate = self;
HUD.labelText = @"Retrieving Signature";
[HUD showWhileExecuting:@selector(getSignature) onTarget:self withObject:nil animated:YES];
4

1 に答える 1

2

MBProgressHUDを使用する場合は、デリゲートをNilに設定し、スーパービューから削除して、最後にHUDをnilに設定することにより、HUDをクリーンアップする必要があります。

HUD.delegate = nil;
[HUD removeFromSuperview];
HUD=nil;
于 2013-02-20T19:45:34.887 に答える