我已经浏览了所发布的问题,并且有很多我试图使用的提示。不幸的是,我没有解决问题。
我只需要以下代码:
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSDate *date = [[NSDate alloc] init];
self.timestamp = date;
[date release];
[pool release];
但是在NSDate的分配线上仍然存在内存泄漏。我尝试了没有AutoreleasePool,我尝试使用drain而不是发布池,我甚至尝试使用静态NSDate日期方法。但我没有摆脱内存泄漏。
我仍然没有得到它。任何帮助都非常感谢。
答案 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"