【发布时间】:2012-10-07 18:17:04
【问题描述】:
这让我有点困惑,因为我正在阅读 2009 年的 Objective-C 书籍(这是我的图书馆唯一的版本)并且作者不断提醒读者释放内存,但是当我尝试释放内存时出现错误使用这种方法。我阅读了一些关于它的内容,发现 release 方法已被弃用,但是我需要做些什么来代替 release 方法来管理内存,或者 Objective-C 现在有垃圾收集吗?
例如:
NSString *s = [[NSString alloc] init];
[s release];
【问题讨论】:
-
关闭 ARC 并先学习旧的东西,还是打开 ARC 并学习新的范例更好,这有点 50/50。了解旧方案很好,因为您可以更好地了解 ARC 在“幕后”所做的事情——这些东西可以在您拍摄与内存管理相关的错误时为您提供帮助(并且在您尝试了解一些 ARC 接口和术语)。但是学习旧东西确实需要付出很大的努力/耐心——而不是立即满足。
-
同意 Hot Licks,尽管我什至认为它是 51/49 以支持使用 ARC。您还需要学习许多其他框架知识,而 ARC 可能只会有所改进。对我来说,当你掌握了其他一切后,回去学习内存管理似乎是一条好路。
标签: objective-c memory-management compiler-errors