xcodeからのメモリリークについてコードを分析すると、警告が表示されます。私はそれを理解するために何時間も試みましたが、理解できませんでしたが、特定のコードにいくつかの疑いがあります:
[stack push:[outputString copy]];
[stack print]; //here xcode tell there is potential leak of an object that is createn on above line
私のスタック実装は次のとおりです。
-(void) push:(NSString *)element{
[store addObject:element];
top++;
}
-(void) print{
NSLog(@"%@", [store objectAtIndex:top]);
}
- (void)dealloc {
[store release];
[super dealloc];
}
これが私のスタッククラスの初期化です。
-(id) initWithMutableArray{
self = [super init];
if(self){
store = [[NSMutableArray alloc] init];
top = -1;
}
return self;
}
私の疑いはコード[outputStringcopy]にあります。しかし、私はそれを配列に格納しており、deallocでストア配列をリリースしています。グラシアス。