Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c CGImageCreateWithImageInRect静态分析警告_Objective C_Ios_Uiimage_Cgimage_Cgimageref - Fatal编程技术网

Objective c CGImageCreateWithImageInRect静态分析警告

Objective c CGImageCreateWithImageInRect静态分析警告,objective-c,ios,uiimage,cgimage,cgimageref,Objective C,Ios,Uiimage,Cgimage,Cgimageref,我拥有UIImage类别的以下功能部分: - (UIImage *)copyImageAtRect:(CGRect)rect { CGImageRef imageToSplit = self.CGImage; CGImageRef partOfImageAsCG = CGImageCreateWithImageInRect(imageToSplit, rect); UIImage *image = [UIImage imageWithCGImage:partOfImageAsCG]; CGIma

我拥有UIImage类别的以下功能部分:

- (UIImage *)copyImageAtRect:(CGRect)rect {
CGImageRef imageToSplit = self.CGImage;
CGImageRef partOfImageAsCG = CGImageCreateWithImageInRect(imageToSplit, rect);
UIImage *image = [UIImage imageWithCGImage:partOfImageAsCG];
CGImageRelease(partOfImageAsCG);
return image;}
但是,当我分析代码时,我得到以下静态分析警告: “将保留计数为+0的对象返回给预期为+1(拥有)保留计数的调用方”,并突出显示返回图像行

我尝试过改变很多事情,但似乎不明白为什么这会成为一个潜在的漏洞

非常感谢您的帮助

非常感谢

编辑
正如waldrumpus指出的,问题在于我的函数名。它包含了“copy”这个词,编译器正是从这个词中提取出来的。通过重命名函数修复了此问题。谢谢waldrumpus。

因为方法的名称以单词
copy…
开头,编译器按照惯例假定它将返回对象的保留副本。这与以
copy…
init…
开头的方法名有关


将该方法重命名为其他方法,警告应该消失。

可能是因为方法的名称以
copy…
开头,使编译器希望保留对象吗?尝试更改方法名称,看看这是否会使警告消失。谢谢waldrumpus,这解决了问题。好地方。如果是这样的话,我已经冒昧地重新发布了答案。