Ios 如何删除由代码创建的UIImageView?

Ios 如何删除由代码创建的UIImageView?,ios,ipad,uiimageview,uiimage,Ios,Ipad,Uiimageview,Uiimage,我正在为iPad开发一款iOs应用程序。我想删除由代码创建的两个对象(UIImage和UIImageView) UIImage *imatgetemporal = [info objectForKey:@"UIImagePickerControllerOriginalImage"]; [popover dismissPopoverAnimated:YES]; UIImageView *img = [[UIImageView alloc] initWithImage:imatgetemporal

我正在为iPad开发一款iOs应用程序。我想删除由代码创建的两个对象(UIImage和UIImageView)

UIImage *imatgetemporal = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
[popover dismissPopoverAnimated:YES];

UIImageView *img = [[UIImageView alloc] initWithImage:imatgetemporal];
我怎么做?
谢谢

删除内容的简单方法是将其设置为
nil
。所以你可能有

img = nil;
您可以使UIImageView保持活动状态,但只需使用新图像更新UIImageView的
image
属性,即可更改它显示的图像

从superview中删除项目时,您只需将其从屏幕上删除即可。它仍在记忆中

从代码中我不清楚的是如何持久化对象。我假设您正在将
UIImageView
设置为某个属性。如果是这样的话,我希望上面的代码是这样的(我正在使用一个名为mainImageView的属性作为示例)

或者,您甚至可以重复使用每次使用的
UIImageView
属性(假设您一次只想显示一个图像),只需将图像替换为新图像即可

UIImage *imatgetemporal = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
[popover dismissPopoverAnimated:YES];

[[self mainImageView] setImage:imatgetemporal];

不需要删除UIImage。您可以像这样删除imageView[img removeFromSuperView];[img释放];但问题是,我重复使用imagesview大小,因此如果我不删除它,当我更改内部图像时,它会保留旧图像的大小,我正在执行imagepickerview,每次我触摸图像时,我都会使用所选内容创建uiimage,并使用图像创建imageview。在那之前,我必须清理这些物体,因为这个动作被调用了好几次。我已经根据我认为你在说的内容更新了我的答案。如果您有UIImageView属性,那么每次都可以用一个新图像替换它。所以最好创建一次,然后在其上重写,这样可以在您想要显示和更新图像的任何时间创建它。真的吗?我通常创建UIImageView一次,然后只更改其图像属性。如果我想在屏幕上同时显示多个图像,我只会创建多个UIImageView。UIImageViews的一个整洁的特性是,您可以为它们指定一个UIImages数组,然后它将设置动画。阅读UIImageView的“animationImages”文档,了解许多有趣的内容。
UIImage *imatgetemporal = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
[popover dismissPopoverAnimated:YES];

[[self mainImageView] setImage:imatgetemporal];