0

UIImage カテゴリの次の機能部分があります。

- (UIImage *)copyImageAtRect:(CGRect)rect {
CGImageRef imageToSplit = self.CGImage;
CGImageRef partOfImageAsCG = CGImageCreateWithImageInRect(imageToSplit, rect);
UIImage *image = [UIImage imageWithCGImage:partOfImageAsCG];
CGImageRelease(partOfImageAsCG);
return image;}

ただし、コードを分析すると、次の静的分析警告が表示されます。「+1 (所有) の保持カウントが期待される呼び出し元に +0 の保持カウントを持つオブジェクトが返されました」という戻り画像の行が強調表示されます。

私は多くのことを変更しようとしましたが、これが潜在的なリークとして出てくる理由を理解できないようです.

どんな助けでも大歓迎です。

どうもありがとう。

編集 waldrumpus が指摘したように、問題は私の関数の名前でした。コンパイラが拾っていた「コピー」という単語が含まれています。関数の名前を変更することでこれを修正しました。ありがとうワルドラムス。

4

1 に答える 1

0

メソッドの名前が単語で始まるためcopy...、コンパイラは慣例により、オブジェクトの保持されたコピーを返すと想定します。copy...これは、またはで始まるメソッド名に関係しinit...ます。

メソッドの名前を別の名前に変更すると、警告が消えるはずです。

于 2012-08-28T11:33:35.300 に答える