【发布时间】:2012-03-04 23:22:16
【问题描述】:
我是 iOS5 开发和使用 Objective-c 的新手。我无法理解 strong 和 weak 存储之间的区别。我已经阅读了文档和其他 SO 问题,但它们听起来和我一模一样,没有进一步的见解。
我阅读了the documentation: Transitioning To ARC - 它引用了 iOS4 的保留、分配和释放条款;这让我很困惑。然后我研究了 Open U CS193p,它区分了强弱:
强:“将其保留在堆中,直到我不再指向它为止”
弱:“只要其他人指向它,就保留它它强烈”
这两个定义不是相同的吗=如果指针不再指向一个对象,则释放保存该对象的内存?我理解指针、堆、内存分配或释放的概念——但是强和弱之间有什么区别?
【问题讨论】:
-
即使您使用的是 ARC,内存管理模型仍然适用。您仍然必须了解引用计数,您不必手动进行。所以你的最后一段是不合理的要求。
标签: memory-management ios5 automatic-ref-counting