我使用工具检查我的脚本中是否有任何泄漏,它附带了几个漏洞,特别是在我的NSDateFormatter中。上面说我拿到了:
Leaked Object # Address Size Responsible Library Responsible Frame
NSDateFormatter 70 < multiple > 1.09 KB DAF +[XMLParser dateFromString:]这是我的方法,它指向,我找不到任何漏洞:
+ (NSDate *)dateFromString:(NSString *)dateString
{
NSDateFormatter *nsDateFormatter = [[NSDateFormatter alloc] init];
[nsDateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm"];
NSDate *date = [nsDateFormatter dateFromString:dateString];
return date;
[nsDateFormatter release];
}有人能帮我解决这个问题吗?我不知道去哪里找这是我第一次用仪器。
发布于 2011-04-16 00:58:31
在释放格式化程序之前返回日期。
+ (NSDate *)dateFromString:(NSString *)dateString
{
NSDateFormatter *nsDateFormatter = [[NSDateFormatter alloc] init];
[nsDateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm"];
NSDate *date = [nsDateFormatter dateFromString:dateString];
[nsDateFormatter release]; //Release here
return date;
//Code after a return does not get executed!!!
}发布于 2011-04-16 00:57:58
将您的return语句作为最后一条语句。正如您所写的,[nsDateFormatter release]永远不会被调用,因为函数在执行该行之前就返回了。
https://stackoverflow.com/questions/5679969
复制相似问题