什么时候发布imageView的图像?

时间:2011-01-19 03:39:15

标签: iphone objective-c ipad ios

我创建一个UIImage并设置为imageView的属性,然后我释放currentImg, 这些代码中是否存在问题?

self.currentContentImv = [[UIImageView alloc] initWithFrame: CGRectMake(0, 0, 1024, 768)];
UIImage *currentImg = [[UIImage alloc] initWithContentsOfFile: @"whatever..."]];
self.currentContentImv.image = currentImg;
[currentImg release];

有时它会崩溃,所以在这种情况下我怎么写呢?

非常感谢!

2 个答案:

答案 0 :(得分:0)

您始终可以使用autorelease

UIImage *currentImg = [[[UIImage alloc] initWithContentsOfFile: @"whatever..."] autorelease];

此外,您应该阅读Apple的Memory Management Programming Guide

答案 1 :(得分:0)

看起来您正在正确发布currentImg。在这种情况下,您可能希望使用静态UIImage方法创建+imageWithContentsOfFile:。这会自动将currentImg添加到自动释放池。

UIImage *currentImg = [UIImage imageWithContentsOfFile: @"whatever..."];