首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我的NSDateFormatter脚本中存在重大泄漏

问我的NSDateFormatter脚本中存在重大泄漏
EN

Stack Overflow用户
提问于 2011-04-16 00:54:45
回答 2查看 270关注 0票数 2

我使用工具检查我的脚本中是否有任何泄漏,它附带了几个漏洞,特别是在我的NSDateFormatter中。上面说我拿到了:

代码语言:javascript
复制
Leaked Object    #   Address         Size       Responsible Library   Responsible Frame
NSDateFormatter  70  < multiple >   1.09 KB    DAF                   +[XMLParser dateFromString:]

这是我的方法,它指向,我找不到任何漏洞:

代码语言:javascript
复制
+ (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];
}

有人能帮我解决这个问题吗?我不知道去哪里找这是我第一次用仪器。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-16 00:58:31

在释放格式化程序之前返回日期。

代码语言:javascript
复制
+ (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!!!
}
票数 5
EN

Stack Overflow用户

发布于 2011-04-16 00:57:58

将您的return语句作为最后一条语句。正如您所写的,[nsDateFormatter release]永远不会被调用,因为函数在执行该行之前就返回了。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5679969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档