返回自定义类分配内存泄漏

时间:2011-02-28 13:19:16

标签: iphone memory sdk calendar memory-leaks

我正在使用kal日历应用程序。我在下面的代码中得到内存泄漏。任何人都可以告诉我我做错了什么。

holidayjsondatasource.m

...

for (int i=0; i<[calendar_value count]; i++) {

NSDate *d = [[fmt dateFromString:[[calendar_value objectAtIndex:i] valueForKey:@"EventDate"]] retain];                   

     [holidays addObject:[CalendarDetails 
                                        holidayNamed:[[calendar_value objectAtIndex:i] valueForKey:@"UnitName"] 
                                        duration_date:[[calendar_value objectAtIndex:i] valueForKey:@"Checkinout"] 
                                        status:[[calendar_value objectAtIndex:i] valueForKey:@"EventType"] 
                                        date:d des:[[calendar_value objectAtIndex:i] valueForKey:@"Description"]  
                                        bid:[[calendar_value objectAtIndex:i] valueForKey:@"ID"]]];
                   [d release];


               }


           }

...

日历详情。

...

+ (CalendarDetails*)holidayNamed:(NSString *)aname duration_date:(NSString *)aduration_date status:(NSString *)astatus date:(NSDate *)adate bid: (NSString *)abid note:(NSString *)anote image_status:(NSString *)aimage_status lmd:(NSString *)almd


{


CalendarDetails *cal =[ [[CalendarDetails alloc] initWithName:aname duration:aduration_date      status:astatus date:adate bid:abid note:anote image_status:aimage_status lmd:almd] autorelease];

return cal;

}

........

谢谢&amp;问候, Sathish所在

1 个答案:

答案 0 :(得分:0)

如果您发送任何控制台输出并告诉我们您确切知道您有内存泄漏,这将有所帮助。

看起来不像是过度释放导致的内存泄漏:你正在调用[d release],但你不应该以这种方式释放你的NSDate - 你得到的就是这样的它是自动释放的方式。阅读可可内存管理指南。

顺便说一句,使用更好的变量名称会使事情变得更容易。例如。 date代替d