Objective-C:ARC 禁止显式消息发送 'retain'

标签 objective-c automatic-ref-counting retain

我是 Objective-C 的新手,我尝试将用旧版本的 Objective-C 编写的旧 Objective-C 项目移植到新版本,但出现以下编译器错误:

ARC forbids explicit message send of 'retain'

in 
color = [aColor retain];
or 
color = [[NSColor blackColor] retain];

我正在阅读 clang 现在正在使用的新的自动引用计数。
我也尝试过使用 Xcode 的重构功能但没有运气...... 需要替换旧代码的正确 Objective-C 代码是什么?

最佳答案

简单地:

color = [NSColor blackColor];

ARC 将管理对象的生命周期,因此您不再需要releaseretainautorelease

关于Objective-C:ARC 禁止显式消息发送 'retain',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14463690/

相关文章:

c# - 将 C# CryptoSys 辅助的 3DES 加密移植到 Objective-C CommonCrypto 问题

ios - UISlider值将 float 转换为百分比

ios - 弧。数组中的对象指向 nil

objective-c - 启用 ARC 和 armv6 的应用程序是否可以在 iOS4 版本以下运行?

objective-c - 释放或设置为零保留成员

iphone - 如何在不执行 alloc 的情况下获取 NSNumber,以便它响应 initWithInt?

iphone - 如何制作通用的iOS应用程序

swift - Swift 中如何避免内存碎片

objective-c-blocks - 分派(dispatch)到对象拥有的队列是否会保留该对象?

objective-c - 我可以为 Safari View Controller 预加载 Web 内容吗?