Tôi đã thấy nhiều câu hỏi/câu trả lời về rò rỉ bộ nhớ trong NSDateFormatter, nhưng dường như không có gì giúp tôi xác định điều gì khiến bộ nhớ bị rò rỉ trong ứng dụng của tôi. Đây là mã của tôi:Rò rỉ bộ nhớ trong khi sử dụng NSDateFormatter
- (id)init
{
if ((self = [super init]))
{
items = [[NSMutableArray alloc] init];
events = [[NSMutableArray alloc] init];
buffer = [[NSMutableData alloc] init];
format = [[NSDateFormatter alloc] init];
lastFromDate = @"";
}
return self;
}
- (void)presentingDatesFrom:(NSDate *)fromDate to:(NSDate *)toDate delegate:(id<KalDataSourceCallbacks>)delegate
{
[format setTimeZone:[NSTimeZone systemTimeZone]];
[format setDateFormat:@"MM/dd/yyyy"];
NSString *stringFromDate = [NSString stringWithString:[format stringFromDate:fromDate]];
NSString *stringToDate = [NSString stringWithString:[format stringFromDate:toDate]];
NSLog(@"From date: %@, To date: %@", stringFromDate, stringToDate);
[self didDatesChange:stringFromDate];
if (dataReady) {
[callback loadedDataSource:self];
return;
}
callback = delegate;
[self retrieveEventData:stringFromDate to:stringToDate];
}
- (void)dealloc
{
[items release];
[events release];
[buffer release];
[lastFromDate release];
[format release];
[super dealloc];
}
Khi tôi chạy "hồ sơ" -> "Rò rỉ", tôi nhận được một rò rỉ bộ nhớ mỗi khi hàm được gọi trên đường dây
NSString *stringFromDate = [NSString stringWithString:[format stringFromDate:fromDate]];
Ai đó có thể giải thích những gì có thể đang xảy ra? cảm ơn, mike
xin vui lòng gửi didDatesChange: và retrieveEventDa ta: to :. vì không có rò rỉ rõ ràng trong mã trong câu hỏi của bạn, tôi đoán là một sự mất cân bằng giữ lại bên trong một trong những phương pháp đó. – danh
tại sao Công cụ sẽ chỉ cho tôi đến dòng nơi NSDate được định dạng nếu rò rỉ ở một trong hai chức năng đó? –