我的应用程序中的其中一个 View 具有一种方法来设置其“默认”布局-setDefaultView
。在此方法中,我遍历了 subview ,如果其中一个是ImageView,它将图像设置为nil。
当我的应用最初是从XCode启动时,这可以正常工作。但是,当我通过按下主页按钮使我的应用程序进入休眠状态,然后返回该应用程序并触发setDefaultView
时,它在此方法中崩溃,其中图像设置为nil。
关于这里可能出什么问题的任何建议?
源代码:
-(void)setDefaultView {
// Hide all equals labels and images; set all images to nil
for (UIView *view in [secondScrollerView subviews]) {
if ([view isKindOfClass:[UILabel class]]) {
UILabel *label = (UILabel *)view;
if ([label.text isEqualToString:@"="]) {
label.hidden = YES;
}
}
if ([view isKindOfClass:[UIImageView class]]) {
UIImageView *imageView = (UIImageView *)view;
imageView.hidden = YES;
imageView.image = nil; // Crashes here
}
}
// do other stuff here...
}
最佳答案
最可能的是将imageView.image
设置为自动发布的对象。 imageView.image = nil;
行将释放旧图像,如果已经释放,将是一个问题。