目标 C 和 ARC
Posted
技术标签:
【中文标题】目标 C 和 ARC【英文标题】:Objective C and ARC 【发布时间】:2013-04-03 19:36:17 【问题描述】:首先,我是 Objective C 的新手,我在互联网上阅读了一些内容。在 ios 和 MAC 上,我可以在没有任何内存管理知识(如释放、保留、自动释放等)的情况下使用 ARC。在 MAC 上的某些地方我可以使用 ARC,但在 iOS 上我需要手动管理,在某些地方它说我可以在 iOS 上使用 ARC 但我需要做一些手动管理。那么什么是正确答案呢?
【问题讨论】:
您可以在 iOS 上使用 ARC。您不需要任何有关发布和保留等方面的先验知识,但了解它会有所帮助 所以我在使用 ARC 时不需要了解任何内存管理,对吗?你能告诉我什么是强、弱、复制吗? 是的 arc 会为你处理内存管理。简而言之,强/弱是:当对一个对象的所有强引用都消失(设置为 nil)时,一个对象将被删除,即使仍然有指向该对象的弱引用。一个对象只有在至少有 1 个强引用时才会存在。 afaik 如果未指定,则默认为强A owns B
表示A
对B
具有强引用,而B
可能 对A
具有弱引用。
我们可以说:对象 a 有对象 b。所以当我们实现的时候,我们会写@property (strong) OBJ *objecta; ?我应该什么时候使用(强、弱、复制、分配)?
【参考方案1】:
Xcode 4.2 支持 OS X v10.6 和 v10.7(64 位应用程序)以及 iOS 4 和 iOS 5。OS X v10.6 和 iOS 4 不支持弱引用。
来源:Transitioning to ARC release notes
【讨论】:
以上是关于目标 C 和 ARC的主要内容,如果未能解决你的问题,请参考以下文章