我最近为我的应用项目切换到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代码之间存在差异。
如何解决这个问题? 感谢
答案 0 :(得分:5)
无论你在一个单独的线程上做什么,添加@autoreleasepool
上下文都是明智的。
More information available here
还有一些不错的例子to be found in this related question。