メモリリークが発生するtheFileName = [[responseString lastPathComponent]stringByDeletingPathExtension];
iphoneプログラミング+メモリリーク
theFileNameはグローバル変数です。私はそれを合成しました。
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
if ((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]))
{
// Custom initialization
theFileName = [[NSString alloc] init];
}
return self;
}
- (void)requestFinished:(ASIHTTPRequest *)request{
//internally calls this function
// Use when fetching text data
NSString *responseString = [request responseString];
//NSLog(@"the responsestring for download is:%@",responseString);
theFileName = [[responseString lastPathComponent]stringByDeletingPathExtension];
//NSLog(@"the theFileName for download is:%@",theFileName);
//adds extension .jpg to file name
NSString *[email protected]".jpg";
NSString *addjpg=[theFileName stringByAppendingString:jpg];
//NSLog(@"append %@",addjpg);
}
deallocでリリースしました。
-(void)dealloc
{
[thefileName release];
}
}
@あなたの投稿を投稿できますか? – tjg184
deallocを呼び出さない可能性はありますか?これはあなたのメモリリークに関連するとどのように判断しましたか? –
@James:もちろん、自分の 'dealloc'内の' super'を除いて自分自身で '-dealloc'を呼び出すことは決してありません。それについて言えば、あなたは 'super 'に' dealloc'も呼んでいません。 – SK9