1

次のメソッドを呼び出して、UIImageView に表示する画像を取得します。UIImageView を使い終わったら、myImageView.image を解放します。私はこれを行う方法に満足していますが、Instruments は UIImage のリークを示しています。以下のUIImageのインスタンスをどのようにリリースすればよいですか?

-(UIImage *)getImageWithRef:(NSString *)ref {
    UIImage *myImage = [[UIImage alloc] initWithContentsOfFile:[NSString stringWithFormat:@"foobar_%@",ref]];
    if (myImage == nil) {
        myImage = [[UIImage alloc] initWithContentsOfFile:@"foobar_defaultImage"];
    }
    return myImage;
}

前もって感謝します

4

1 に答える 1

2

画像を返却するときは、自動リリースを使用してみてください。

-(UIImage *)getImageWithRef:(NSString *)ref {
    UIImage *myImage = [[UIImage alloc] initWithContentsOfFile:[NSString stringWithFormat:@"foobar_%@",ref]];
    if (myImage == nil) {
        myImage = [[UIImage alloc] initWithContentsOfFile:@"foobar_defaultImage"];
    }
    return [myImage autorelease];
}
于 2013-05-09T11:26:39.510 に答える