当客观C容器被解除分类时,他们是否会释放对其包含的对象的引用,或者我是否需要手动执行此操作?
答案 0 :(得分:5)
应该仔细阅读NSArray的文档:
Arrays维护对其内容的强引用 - 在托管内存环境中,每个对象在将id添加到数组之前接收保留消息,并在从数组中删除数据或者释放数组时接收释放消息。如果您想要一个具有不同对象所有权语义的集合,请考虑使用CFArray Reference,NSPointerArray或NSHashTable。
答案 1 :(得分:0)
他们释放对他们包含的对象的引用。
答案 2 :(得分:0)
添加对象时,其引用计数会递增。当它被删除(手动或者数组被销毁时),它的引用计数会减少。
因此,使用以下代码,您不必释放对象
NSObject* someObject = [[[SomeClass alloc] init] autorelease];
[someArray addObject: someObject];
答案 3 :(得分:0)