【问题标题】:Memory retention of an NSArray of NSDictionariesNSDictionaries 的 NSArray 的内存保留
【发布时间】:2011-10-31 10:05:39
【问题描述】:

我想要一个 ivar,它是字典的有序列表。如果我为这个 NSArray 创建一个@property,设置为retain,然后用NSDictionary 对象填充它,我可以“安全地”假设这些字典也作为 ivar 的一部分保留,还是我需要单独保留这些对象?

【问题讨论】:

    标签: objective-c


    【解决方案1】:

    是的,集合类会自动保留你放入其中的东西。因此,如果您将内容放入字典并维护对字典的引用,则可以安全地使用其内容;如果您将此字典存储在一个属性中,您仍然可以安全地使用它。更多信息请见this page

    • 他们保持对其内容的强烈引用。

    【讨论】:

      【解决方案2】:

      NSArray 在添加对象时保留对象,并在添加对象时释放它们 它们被删除或数组被释放。记住这一点,这是 这种保留/释放内存管理的“所有权”概念是 建立在。

      With an NSArray of object references, do I explicitly release all objects in the array or just the array itself?

      【讨论】:

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