gpt4 book ai didi

iphone - NSDateFormatter 内存泄漏

转载 作者:行者123 更新时间:2023-12-03 20:25:53 27 4
gpt4 key购买 nike

在 Instrument 的帮助下,我发现以下代码段存在内存泄漏。仪器显示 NSDateFormatter 此处泄漏内存。

- (NSDate*) dateSelected{
if(selectedDay < 1 || selectedPortion != 1) return nil;

TKDateInformation info = [monthDate dateInformationWithTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
info.hour = 0;
info.minute = 0;
info.second = 0;
info.day = selectedDay;
NSDate *d = [NSDate dateFromDateInformation:info timeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];


HolidayAppDelegate *delegatObj = (HolidayAppDelegate *)[UIApplication sharedApplication].delegate;

NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease];
[formatter setDateFormat:@"MMMM-dd-yyyy"];

// below line getting leak
NSString *message = [[formatter stringFromDate:d] retain];
delegatObj.selecteddate=message;
NSLog(@" selectd %@ ",delegatObj.selecteddate);
[delegatObj getholiday_forcalnder];

return d;

}

谢谢

最佳答案

更改这些行

NSString *message = [[formatter stringFromDate:d] retain];
delegatObj.selecteddate=message;

按这些行

 NSString *message = [formatter stringFromDate:d];
[message retain];
delegatObj.selecteddate=message;
[message release];

所选日期也是保留类型的属性,因此不要对其直接调用保留。它增加了保留计数。

关于iphone - NSDateFormatter 内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6578265/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com