0

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

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

UIImageView *img = [[UIImageView alloc] initWithImage:imatgetemporal];

我该怎么做?谢谢!

4

1 回答 1

1

删除内容的一种简单方法是将它们设置为nil. 所以你可能有

img = nil;

您可以保持 UIImageView 处于活动状态,但只需通过image使用新图像更新 UIImageView 的属性来更改它显示的图像。

当您从超级视图中删除一个项目时,您只是将其从屏幕上取下。它仍在记忆中。

从您的代码中我不清楚的是您如何持久化对象。我假设您正在UIImageView某处设置属性。如果是这种情况,我希望您上面的代码看起来像(例如,我使用了一个名为 mainImageView 的属性)

UIImageView *img = [[UIImageView alloc] initWithImage:imatgetemporal];
[self setMainImageView:img];

或者您甚至可以重用UIImageView您每次拥有的属性(假设您一次只想显示一个图像),然后用新图像替换该图像。

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

[[self mainImageView] setImage:imatgetemporal];
于 2012-10-21T15:47:37.697 回答