我正在为iPad开发一款iOs应用程序。我想删除由代码创建的两个对象(UIImage和UIImageView)。
UIImage *imatgetemporal = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
[popover dismissPopoverAnimated:YES];
UIImageView *img = [[UIImageView alloc] initWithImage:imatgetemporal];
我该怎么办? 谢谢!
答案 0 :(得分:1)
删除内容的简便方法是将其设置为nil
。所以你可能有
img = nil;
您可以保持UIImageView的活动状态,但只需通过使用新图像更新UIImageView的image
属性来更改显示的图像。
当您从超级视图中删除某个项目时,您只是将其从屏幕上移除。它仍在记忆中。
我的代码中不清楚的是你如何持久化对象。我假设您正在将UIImageView
设置为某处的属性。如果是这种情况,我希望你上面的代码看起来像(我正在使用一个名为mainImageView的属性作为例子)
UIImageView *img = [[UIImageView alloc] initWithImage:imatgetemporal];
[self setMainImageView:img];
或者您甚至可以重复使用每次UIImageView
属性(这假设您只想一次显示一个图像),只需用新图像替换图像即可。
UIImage *imatgetemporal = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
[popover dismissPopoverAnimated:YES];
[[self mainImageView] setImage:imatgetemporal];