2010-12-16 20 views
0

私のためにイメージを読み込むヘルパーメソッドがあります。私はこのコードを私のアプリ全体に使用できるようにして、これを作成しました:UIImageViewを取得するとき、このメモリリークを回避するにはどうすればよいですか?

+(UIImageView *) getSignature: (NSString *) aPONumber { 

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentsPath = [paths objectAtIndex:0]; 
    NSString *newPath =[documentsPath stringByAppendingPathComponent: [NSString stringWithFormat:@"%@-signature.jpg", [aPONumber stringByReplacingOccurrencesOfString:@"/" withString:@""]]]; 

    BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:newPath]; 
    if(fileExists) 
    { 

     return [[UIImageView alloc] initWithImage:[[UIImage alloc] initWithContentsOfFile:newPath]]; 
    } else { 
     return nil; 
    } 
} 

これは自動解除を使用するのに適していますか?このようなもの:

return [[[UIImageView alloc] initWithImage:[[[UIImage alloc] initWithContentsOfFile:newPath] autorelease]]autorelease]; 

答えて

1

短い答え:はい。

あなたはそこでautoreleaseを使用することができ、あなたのUIImageViewsまたはUIImagesの解放を心配する必要はありません。それらをUIViewに追加するだけで、UIViewから削除されると自動的に割り当てが解除されるか、UIViewの割り当てが解除されます。

関連する問題