我读过有关手册& Objective-C中的ARC内存管理。在下面的几点中,我对Objective-C中的内存管理是否真的感到困惑?
始终在ARC和手动内存下的dealloc中清除属性 管理。
在ARC和手册下,不必在dealloc中输出属性 记忆管理。
在ARC下的dealloc中输出属性,但不在手动内存中 管理。
答案 0 :(得分:1)
您永远不必“删除”属性,只需在进行手动内存管理时释放它们。
当您将值设置为nil时,您将丢失那里的旧值。旧值存储了对象的地址。现在该对象仍然存在,但您不再知道它的地址,也无法释放它。
发布告诉对象“我不再使用你,如果我是最后一个,那就删除自己”。在ARC中,编译器会自动添加保留和释放调用。自己很少有任何理由自己进行手动内存管理。 ARC是要走的路。
答案 1 :(得分:1)
在大多数情况下,没有太多理由使用手动内存管理。
但是要回答你的问题,请不要在dealloc中。代替:
[myObject release];
答案 2 :(得分:0)
只需使用ARC和快乐的日子!
但是,您至少应该注意strong and weak references之间的区别。