次の関数があり、*timeString
メモリリークが発生します。私はObjective-C(およびメモリ管理)にかなり慣れてrelease
いませんが、最初にオブジェクトを作成するだけでよいと読みalloc
ました。私alloc
*formatter
は 、それを に設定したので*timeString
、これは私も解放しなければならないということ*timeString
ですか?
コードは次のとおりです。
-(NSString *)getDate{
NSLog(@"getDate");
NSDateFormatter *formatter;
NSString *timeString;
formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd"];
timeString = [formatter stringFromDate:[NSDate date]];
[formatter release];
return timeString;
}
編集:getDate
関数が呼び出される場所は次のとおりです。
-(NSString *)getFileName{
//nameofXMLFile = page_##
NSString *nameOfFile = [NSString stringWithString:pageTitle];
//nameOfXMLFile = page_##.DataCheckSheet.xml
nameOfFile = [nameOfFile stringByAppendingString: @".DataCheckSheet.xml"];
NSString *dateString = [self getDate];
dateString = [dateString stringByAppendingString: @"_"];
NSLog(@"datestring: %@", dateString);
dateString = [dateString stringByAppendingString:nameOfFile];
NSLog(@"datestring with append: %@", dateString);
//nameOfXMLFile = yyyy-MM-dd_page_##.DataCheckSheet.xml
nameOfFile = dateString;
return nameOfFile;
}