此代码与EXC_BAD_ACCESS崩溃(请原谅我格式化,我似乎无法处理此网页编辑器):
@implementation
BOOL imageZoomed=NO;
-(void)makeAnimation {
[UIView animateWithDuration:1.0f
animations:^{
self.myImageView.alpha=1.0f;
if (imageZoomed) {
self.zoomImageView.alpha=0.0f;
tempZoomImageView.alpha=1.0f;
}
}
completion:^(BOOL finished) {
if (imageZoomed) {
self.zoomImageView.alpha=1.0f;
[tempZoomImageView removeFromSuperview];
}
}
}
如果我在动画中注释掉if块,它就可以了。 在动画之前和之后调用imageZoomed没有问题。 我错过了块和条件子句,块或变量的东西吗?
感谢任何回复,马林巴
答案 0 :(得分:2)
从表面上看,我认为这段代码本身没有任何问题。没有什么特殊的WRT块和条件子句。有特殊规则的WRT变量,但看看这段代码,你可能应该没问题。
你可能有一个被过度释放的对象或者那些东西。我建议仔细查看self,zoomImageView和tempZoomImageView作为嫌疑人,因为它们位于if块中...尝试启用NSZombiesEnabled以在您发布的过度对象被发送时获得异常。
答案 1 :(得分:2)
[UIView animateWithDuration:1.0f
animations:^{
}
completion:^(BOOL finished) {
if (finished) {
}
}];
不要忘记“];”