NSDate创建内存泄漏

时间:2011-08-17 09:31:18

标签: ios nsdate

我已经浏览了所发布的问题,并且有很多我试图使用的提示。不幸的是,我没有解决问题。

我只需要以下代码:

NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSDate *date = [[NSDate alloc] init];
self.timestamp = date;
[date release];

[pool release];

但是在NSDate的分配线上仍然存在内存泄漏。我尝试了没有AutoreleasePool,我尝试使用drain而不是发布池,我甚至尝试使用静态NSDate日期方法。但我没有摆脱内存泄漏。

我仍然没有得到它。任何帮助都非常感谢。

3 个答案:

答案 0 :(得分:1)

只写

self.timestamp = [NSDate date];

而不是给定代码块,它将无泄漏地工作。

答案 1 :(得分:1)

您的[timestamp release]实施中

dealloc吗? IE:

-(void)dealloc {
  // ... your other retained property/ivar releases ... //
  [timestamp release];
  [super dealloc];
}

此外,如果您在标准iOS项目中运行,则不需要设置自己的NSAutoreleasePool(除非您处于紧密循环或线程实现中)。

答案 2 :(得分:0)

iOS的Objective C中的内存管理只是参考引用计数。如果您找到"Apple's Mem Management a bit daunting",请尝试此操作 - "Simple Memory Management Tools for Cocoa"