我的NSDateFormatter脚本中的主要泄漏

iJa*_*Jar 2 memory iphone memory-leaks instruments

我使用Instrument来检查我的脚本中是否有任何泄漏,特别是在我的NSDateFormatter中有一对.它说我有它:

Leaked Object    #   Address         Size       Responsible Library   Responsible Frame
NSDateFormatter  70  < multiple >   1.09 KB    DAF                   +[XMLParser dateFromString:]
Run Code Online (Sandbox Code Playgroud)

这是我指出的方法,我找不到任何泄漏:

+ (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];
}
Run Code Online (Sandbox Code Playgroud)

有人可以帮我这个吗?我不知道在哪里看这是我第一次使用乐器.

Mar*_*off 5

将您的return陈述作为最后陈述.正如你所写的那样,[nsDateFormatter release]永远不会被调用,因为函数在它执行该行之前就会返回.


Joe*_*Joe 5

您在发布格式化程序之前返回日期.

+ (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!!!
}
Run Code Online (Sandbox Code Playgroud)