首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >目标C中记忆管理的混乱?

目标C中记忆管理的混乱?
EN

Stack Overflow用户
提问于 2016-05-16 18:23:19
回答 3查看 102关注 0票数 1

我读到了Objective中关于手动和ARC内存管理的文章。在以下几点中,我对目标C中的内存管理是否正确感到困惑?

  • 在ARC和手动内存管理下,始终不使用dealloc中的属性。
  • 在ARC和手动内存管理下,不必删除dealloc中的属性。
  • 在ARC下,在dealloc中没有属性,但在手动内存管理中没有。
  • 在手动内存管理下,在dealloc中没有属性,但在ARC中没有。
EN

回答 3

Stack Overflow用户

发布于 2016-05-16 18:27:28

您不必“忽略”属性,您只需在执行手动内存管理时释放它们。

当您将值设置为零时,您将失去原来的值。该旧值存储对象的地址。现在这个对象继续存在,但是您不再知道它的地址,也无法释放它。

版本告诉对象“我不再使用您,如果我是最后一个,那么删除您自己”。在ARC中,保留和释放调用由编译器自动添加。几乎没有理由自己去做那种手动内存管理了。弧形是要走的路。

票数 1
EN

Stack Overflow用户

发布于 2016-05-16 18:30:38

在大多数情况下,不再有太多理由使用手动内存管理了。

不过,要回答你的问题,千万别用脱衣舞。相反:

  1. 用ARC处理属性时不要做任何事情。
  2. 在手动管理中释放dealloc中强烈持有的属性。[myObject release];
票数 1
EN

Stack Overflow用户

发布于 2016-05-17 01:40:14

只要使用ARC和快乐的日子!

但是,您至少应该意识到strong and weak references之间的区别。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37260676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档