我在 Xcode 4.5.2 中有一个应用程序,我正在使用 ARC。我的应用程序一直在构建和运行,没有编译器警告或错误,但是,当应用程序进入后台然后返回前台时(特别是在中间经过很长一段时间后),应用程序崩溃。我对 iOS 还很陌生,我一直在无休止地尝试分析崩溃报告,并象征性地表示崩溃,但到目前为止,我一直未能成功收集到问题的任何线索。然而,突然当我重新打开我的项目时,一行代码(一直存在)现在显示蓝色编译器警告:Memory (Core Foundation/Objective C) Potential Leak of an Object。 我不明白为什么这段代码在使用 ARC 的情况下会产生这个警告,也不明白它为什么突然出现。我假设这可能与崩溃问题有关,但我不知道为什么会收到此错误,因此我不知道如何修复它。
这是问题所在的代码:
- (void) cropPhoto:(UIImage *)originalImage inImageView:(UIImageView *)imageView atXPoint:(int)x atYPoint:(int)y withWidthSize:(int)width withHeightSize:(int)height
{
CGSize size = [originalImage size]; //gets size of Facebook photo
[imageView setFrame:CGRectMake(0, 0, size.width, size.height)];
[self.view addSubview:imageView]; //adds imageView to view
CGRect rect = CGRectMake (size.width / 4, size.height / 4 ,
(size.width / 1), (size.height / 2));
//THIS NEXT LINE GIVES THE COMPILER WARNING!!
[imageView setImage:[UIImage
imageWithCGImage:CGImageCreateWithImageInRect([originalImage CGImage], rect)]];
[imageView setFrame:CGRectMake(x, y, width, height)];
[self.view addSubview:imageView];
}
任何帮助或指导表示赞赏。