2012-08-28 76 views
0

我有一個UIImage類的以下功能部分:CGImageCreateWithImageInRect靜態分析警告

- (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指出的,問題是我的功能的名稱。它包括編譯器正在採用的「複製」一詞。通過重命名該功能來解決這個問題。謝謝waldrumpus。

+1

難道是因爲你的方法的名稱以'開始複製...',使編譯器期望保留的對象?嘗試更改方法名稱並查看是否使警告消失。 – waldrumpus

+0

謝謝waldrumpus,解決了這個問題。不錯的地方。 –

+0

在這種情況下,我冒昧地重新發布答案。 – waldrumpus

回答

0

因爲你的方法名與字copy...開始,編譯器假定按照慣例,這將返回對象的保留副本。這涉及以copy...init...開頭的方法名稱。

重命名方法到別的東西,並警告應該消失。

相關問題