0

这让我有点困惑,因为我正在阅读 2009 年的 Objective-C 书籍(这是我的图书馆唯一的版本)并且作者不断提醒读者释放内存,但是当我尝试使用此方法时出现错误. 我阅读了一些关于它的内容,发现 release 方法已被弃用,但是我需要做些什么来代替 release 方法来管理内存,或者 Objective-C 现在有垃圾收集吗?

例如:

NSString *s = [[NSString alloc] init];
[s release];
4

2 回答 2

3

这不是垃圾收集,而是Automatic Reference Counting( ARC) 为您工作。

要遵循书中的示例,请在 Xcode 中创建一个新项目并取消选择使用 ARC 的选项。

于 2012-10-07T18:19:19.880 回答
2

您已启用 ARC;调用retain并由release编译器自动插入。如果您想手动进行内存管理,请在目标的构建设置中禁用 ARC。在 OS X 上,也有垃圾收集,但它已被弃用。

于 2012-10-07T18:19:36.077 回答