Does NSArray copy objects?

后端 未结 1 1101
梦毁少年i
梦毁少年i 2020-12-10 12:38

When I make an NSArray using +[NSArray arrayWithObjects:], does it copy those objects? If I release the objects after adding them to the array, wil

相关标签:
1条回答
  • 2020-12-10 13:11

    No, it doesn't copy them. It retains them. Yes, you can safely release the objects after adding them to the array.

    The docs, as always, spell this out very clearly:

    Arrays maintain strong references to their contents—in a managed memory environment, each object receives a retain message before its id is added to the array and a release message when it is removed from the array or when the array is deallocated. If you want a collection with different object ownership semantics, consider using CFArray Reference, NSPointerArray, or NSHashTable instead.

    0 讨论(0)
提交回复
热议问题