我正在使用翻转过渡为整个 UI 中的小子视图设置动画。为了让 Flip 过渡正常工作,我创建了一个临时 UIView 来提供上下文,运行过渡,然后需要进行清理。但是我无法确定如何在不使应用程序崩溃的情况下释放对象。这是代码块:
UIView *tempContainer = [UIView alloc];
tempContainer = [self.view viewWithTag:700];
[UIView transitionWithView:tempContainer
duration:2
options:UIViewAnimationOptionTransitionFlipFromRight
animations:^{
[[[tempContainer subviews] objectAtIndex:0] removeFromSuperview];
[tempContainer addSubview:newImageView];
[newImageView release];
}
completion:^(BOOL finished){
[tempContainer release]; //Crashes app
}];
我正在为 iOS4 使用基于块的动画技术。问题是我的 tempContainer 肯定在泄漏,但是如果我在完成块中释放或自动释放它,我的应用程序崩溃,并且我在 [UIView transition...] 消息之后执行它,它会崩溃。什么是最好的重构方法,这样我就不会泄露我的记忆?(我有 30 件这样的小事要做。)