自动释放池的范围

时间:2012-03-28 15:44:02

标签: objective-c

NSAutoreleasePool是否也涵盖了所有被调用方法中的变量?

1 个答案:

答案 0 :(得分:0)

如果这是调用-isNotExpired的唯一位置,则您设置的自动释放池将包含-isNotExpired中自动释放的对象(包括startDate)。

请注意,在普通的Cocoa应用程序中,main.m中NSApplicationMain()中调用的main()将为您创建一个自动释放池,因此无论如何此代码都不会泄漏。您通常只会在生成大量临时对象且使用寿命较短的情况下(例如在循环中)创建自己的自动释放池,并且希望保持高水位内存使用率。