【发布时间】:2025-08-08 12:00:01
【问题描述】:
考虑这个伪代码:
// an image is initialized
UIImage *imagePX = [[UIImage alloc]initWithContentsOfFile:... bla bla
imagePX = [self rotateImage:imagePX]; //A
[self doStuff:imagePX]; //B
然后我有 rotateImage 方法:
- (UIImage*) rotateImage:(UIImage*)source {
... rotate the image... draw on context...
[source drawInRect... bla bla
...
UIImage *rotatedImage = UIGraphicsGetImageFromCurrentImageContext();
return rotatedImage;
}
我的问题是:imagePX 从未发布过。由于图像被传递给RotateImage方法,我想我可以简单地释放它,在命令[source drawInRect ...]上使用它之后,因为我会在方法上返回一个rotatedImage,但如果我这样做,程序会崩溃,因为变量 imagePX 应该存在,所以 A 行可以计算。
我的另一个问题是图像将在 B 上转发到另一个例程。那么,在不丢失 imagePX 和泄漏的情况下使其工作的最佳方法是什么?
最好的方法是什么?
【问题讨论】:
标签: iphone iphone-sdk-3.0