可能重复:
What's the difference between sending -release or -drain to an Autorelease Pool?
我总是想知道[pool release]和[pool drain]之间的区别..
当我们在IOS中创建基于视图的应用程序时,请使用[pool release]。
当我们在MAX OS X中创建命令行工具时,请使用[pool drain]。
为什么要以不同方式使用它们?
答案 0 :(得分:7)
在垃圾收集环境中,不需要自动释放 池。但是,您可以编写一个旨在使用的框架 垃圾收集和参考计数环境。在这 例如,您可以使用自动释放池来提示收集器 收集可能是适当的。在垃圾收集环境中, 向池中发送排出消息会触发垃圾回收 必要;然而,释放是一种无操作。在参考计数 环境,排水与释放效果相同。通常情况下, 因此,你应该使用排水而不是释放。
答案 1 :(得分:6)
除非您在OSX上使用垃圾收集,否则没有区别。在没有GC的iOS和OSX上完全相同。
乔
答案 2 :(得分:3)
已经解释了差异in this post。基本上,如果你没有垃圾收集,那么排水与释放相同。