- (void)fadeOutSplash {
UIImageView *splash = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Default-Landscape~ipad.png"]];
[self.window.rootViewController.view addSubview:splash]; // <-- OBJECT IS BEING RETAINED HERE
[UIView animateWithDuration:0.5
animations:^{
splash.alpha = 0;
}
completion:^(BOOL finished) {
[splash removeFromSuperview];
}];
}
のサブビューに追加すると、ARC は「スプラッシュ」を保持していると思いますrootViewController
。ARC は、独自のスーパー ビューから「スプラッシュ」を削除するため、アニメーションの完了を実行すると「スプラッシュ」を解放する必要があります。ただし、割り当てインストルメントで、この親ビュー コントローラーが割り当てられたままになっていることがわかり、スプラッシュが に追加されている場所に問題があることがわかりますrootViewController
。「スプラッシュ」を確実にリリースするにはどうすればよいですか?