Objective c 是否删除了xcode 4垃圾收集?
我正在学习Xcode和objective c,但我正在读的书使用的是旧版本(3.2)的Xcode。有一章专门讨论内存和泄漏,说我需要通过“项目设置”>“构建”打开垃圾收集。但是,我找不到垃圾收集设置。它是否已被删除或我只是错过了它?这是一个挑战,但您可能能够完成它-以下是与PDF生成相关的一个起点:Objective c 是否删除了xcode 4垃圾收集?,objective-c,xcode,macos,Objective C,Xcode,Macos,我正在学习Xcode和objective c,但我正在读的书使用的是旧版本(3.2)的Xcode。有一章专门讨论内存和泄漏,说我需要通过“项目设置”>“构建”打开垃圾收集。但是,我找不到垃圾收集设置。它是否已被删除或我只是错过了它?这是一个挑战,但您可能能够完成它-以下是与PDF生成相关的一个起点: 如果你能大致了解那里的情况,你可能会没事。Xcode 3.2仍然可以下载-事实上,3.2.6是在过去一两周内发布的,所以它并不完全是“过时的”。:-)Xcode 4的界面非常不同,所以考虑到你的日
如果你能大致了解那里的情况,你可能会没事。Xcode 3.2仍然可以下载-事实上,3.2.6是在过去一两周内发布的,所以它并不完全是“过时的”。:-)Xcode 4的界面非常不同,所以考虑到你的日程安排很紧,需要从头开始,现在使用3.2可能会更好。这肯定会让你的书更容易使用。Xcode 4仍然有垃圾收集功能,你所做的就是进入你的项目(导航栏顶部带有大的Xcode项目图标的选项)。选择您的目标,该目标应该是应用程序的名称,旁边有应用程序图标。选择该选项后,顶部会有一个带有不同选项的栏,如摘要、信息、生成设置等。点击“生成设置”并在搜索字段中键入“垃圾”。然后将垃圾收集设置为required 关于GC的一个非常重要的注意事项是,从MacOS10.8开始,它就被正式弃用,这意味着如果可能的话,您应该将代码转换为ARC,因为GC可能不会存在太久
更新:关于在当前版本的Xcode中启用GC,请参阅其他答案。如上所述,如果您还没有转换到ARC,那么您应该转换到ARC。垃圾收集在Xcode 4中得到了充分的支持。Xcode 4本身就是一个GC的应用程序
GC在iOS中也非常不可用。如果您正在编写iPhone/iPad应用程序,则无法使用GC。从Xcode 4.3开始,对于“Apple LLVM编译器3.1-语言”部分下的参数“Objective-C垃圾收集”,唯一可用的设置是目标应用程序的生成设置=“Unsupported”从Xcode 4.4开始,垃圾收集生成标志由用户定义(请参见“生成设置”列表的末尾) 有效的生成设置包括:
- 不受支持的:应用程序无法加载需要垃圾收集的代码。需要垃圾收集的应用程序无法加载可加载的捆绑包
- 受支持的:应用程序可以加载支持或需要垃圾收集的代码。具有任何垃圾收集支持级别的应用程序都可以加载可加载的捆绑包
- 必需:应用程序只能加载支持垃圾收集的代码。可加载的捆绑包只能由支持垃圾收集的应用程序加载
GCC_ENABLE_OBJC_GC supported