我听说在某些情况下,开发人员仍然必须了解基本的内存管理规则。那么什么时候关于ARC的知识还不足以开发iOS应用程序呢?
(我知道mem管理基础,但朋友不知道并希望开始开发)。
答案 0 :(得分:2)
我认为理解幕后发生的事情总是有帮助的,特别是在这种情况下,ARC使用命名约定来使一切正常工作。
但要直接回答你的问题:它无法自动处理保留周期,它只适用于对象,所以如果使用任何CoreFoundation方法,你仍然需要担心内存管理。
此外,如果您使用任何第三方或开源库,那么它们可能不兼容ARC(尽管您可以在一个可执行文件中混合ARC和非ARC代码)。
答案 1 :(得分:0)
dontWatchMyProfileless,
tl;博士:告诉你的朋友只使用ARC,剩下的就会自行解决。
长篇:
我在当地社区大学教授iOS编程。我提出这个并不是因为我是ARC的专家,而是我教过初学者现代的Objective-C。
真正的问题是专业的iOS程序员何时应该学习iOS内存管理的所有复杂功能?
在2011年秋季课程中,我能让学生在大部分学期忽略内存管理问题。当学生开始使用基于C的API - 核心图形,GCD等时,它随后出现。我在学生必须开始__bridge演员时介绍它。
ARC真的帮助学生学习了Cocoa Touch。内存管理作为一种高级功能出现,现在就是这样。特别是,我喜欢切换ARC on&关闭,以显示人们的内存泄漏。现在,去找你的朋友编码。
安德鲁