- (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 应该释放“飞溅”,因为它会从它自己的超级视图中删除我的“飞溅”。但是,我可以在分配工具中看到这个父视图控制器保持分配状态,并且它显示问题行是在哪里添加了 splash 到rootViewController
. 我能做些什么来确保“飞溅”被释放?