私はこれについてメモリリークしています:
私のカスタムクラス:
+ (id)vectorWithX:(float)dimx Y:(float)dimy{
return [[[Vector alloc] initVectorWithX:dimx Y:dimy] autorelease]; }
- (Vector*)add:(Vector*)q {
return [[[Vector vectorWithX:x+q.x Y:y+q.y] retain] autorelease]; }
アプリデリゲートで開始します:
Vector *v1 = [[Vector alloc] initVector];
Vector *v2 = [[Vector alloc] initVector];
Vector *vtotal = [[v1 add:v2] retain];
[v1 release];
[v2 release];
[vtotal release];
これはどのように漏れますか?それらを適切にリリースまたは自動リリースします。これらを保持しないと、アプリがすぐにクラッシュします。これは、初期のリリースが原因だと思います。別のリリースを追加するとクラッシュします。