如果我有一个 UIPopoverController(在 .h 文件中)并在同一个 .m 文件中多次分配初始化它。我需要发布一次到多次吗?
最佳答案
这里的引用计数很重要。
规则是:当没有人拥有它们时,对象就会消亡。如果您在不释放它的情况下丢失了对它的引用,那么您将泄漏。
获得对象所有权的常用方法有两种:
- 您自己创建它(通过调用
alloc
方法) - 你在上面调用
retain
而且,还有两种常见的方法可以放弃对对象的所有权:
- 您对其调用
release
- 您对其调用
autorelease
因此,每次分配一个对象时,您有责任在使用完后释放它。这可能意味着您只需发布一次,即使您可以通过多个代码路径创建它。 但是,如果要用新对象覆盖变量,则必须确保释放它。
关于ios - Objective-C内存管理: if I alloc init multiple times,需要释放多次吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3273109/