【发布时间】:2013-09-06 19:00:52
【问题描述】:
我从 github 找到了一个不错的项目,但它使用旧的内存管理模型(非 ARC)。 但我的应用程序使用 ARC,因此 xcode 无法编译,因为所有 autorelease 和 dealloc 的东西。
有没有办法解决这个问题? 例如,在一个项目中同时使用 ARC 和 nonARC,或者自动删除所有 autorelease 方法调用?
【问题讨论】:
标签: ios xcode automatic-ref-counting
我从 github 找到了一个不错的项目,但它使用旧的内存管理模型(非 ARC)。 但我的应用程序使用 ARC,因此 xcode 无法编译,因为所有 autorelease 和 dealloc 的东西。
有没有办法解决这个问题? 例如,在一个项目中同时使用 ARC 和 nonARC,或者自动删除所有 autorelease 方法调用?
【问题讨论】:
标签: ios xcode automatic-ref-counting
您可以使用非 ARC 在类文件上设置 ARC 忽略标志 -fno-objc-arc - 这对我来说是最快的方法!
你也可以重构,转到:编辑>重构>转换为 Objective-C ARC
【讨论】:
编辑 -> 重构 -> 转换为 Objective-C ARC...
【讨论】:
Xcode 在 Edit->Refactor 菜单下内置了一个工具,用于将旧代码转换为 ARC。或者,您可以在目标的编译源构建阶段为单个文件设置自定义编译器标志。如果您想禁用特定文件的 ARC,请添加 -fno-objc-arc 标志。
【讨论】:
您可以将代码迁移到 ARC。 WWDC 会议就是关于这个进展的,或者你只是告诉 Xcode 这些类没有使用 ARC。
选项
编辑->重构->转换为 Objective-C ARC
选项
转到 Build Phases->Compile Sources 并添加 -fno-objc-arc 作为编译器标志。
【讨论】: