这是一个创建于 4657 天前的主题,其中的信息可能已经有所发展或是发生改变。
Apple 的 Resource Programming Guide 里有一段说:
Managing Nib Objects in iOS
Top-Level Objects
Objects in the nib file are created with a retain count of 1 and then autoreleased.
实际上如果是 main nib 里的 top-level objects,是不会被 autorelease 的。这样如果你有一些只在启动时用到的 object 放在 main nib 里实例化,之后想释放掉时只 release 一次的话就 leak 了。除非违反内存管理的规范,对没有 ownership 的对象再 release 一次。
很奇怪这点没有在文档里提及,不过 Xcode 4.2 以后的 project templates 貌似不提供 main nib 了?