【问题标题】:Objective C and ARC目标 C 和 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 表示AB 具有强引用,而B 可能A 具有弱引用。
  • 我们可以说:对象 a 有对象 b。所以当我们实现的时候,我们会写@property (strong) OBJ *objecta; ?我应该什么时候使用(强、弱、复制、分配)?

标签: objective-c memory-management automatic-ref-counting


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多