我最近为我的应用程序项目切换到了ARC。我正在使用iOS 5 SDK。运行一台iPod 4g设备我没有收到任何警告。但是尝试在iPod 2g上运行我的应用程序时,我收到许多警告:

*** __NSAutoreleaseNoPool(): Object 0x258070 of class DataModel autoreleased with no pool in place - just leaking
*** __NSAutoreleaseNoPool(): Object 0x2530a0 of class __NSArrayM autoreleased with no pool in place - just leaking
*** __NSAutoreleaseNoPool(): Object 0x25a2e0 of class NSCFNumber autoreleased with no pool in place - just leaking

我猜想通过使用ARC运行arm6 / arm7代码之间会有区别。

如何解决呢?
谢谢

最佳答案

无论您在单独的线程中做什么工作,添加@autoreleasepool上下文都是明智的。

More information available here

还有一些不错的示例to be found in this related question

10-07 15:19