程序的一部分需要ARC而另一部分不需要ARC

时间:2014-05-08 12:34:34

标签: ios xcode cocoa automatic-ref-counting

我正在工作,当我决定实现一个需要我导入ReactiveCocoa的函数时,一切进展顺利。直到我开始收到Reactive Cocoa关于Arc开启的警告之前,这一切都没问题。但是我不认为在我的情况下关闭弧是一个选项,因为我开始使用它并关闭它可能会给我一些其他问题。

它是“明智的”还是我应该通过ReactiveCocas框架并推出这些版本?或者我可以用其他方式解决这个问题。

ARC forbids explocot message send of 'release'
release is unavailable : not available in automatic reference counting mode

ARC forbids explocot message send of 'retain'
retainis unavailable : not available in automatic reference counting mode

错误代码

- (void)dealloc {
    dispatch_release(_queue);
}
- (id)initWithName:(NSString *)name queue:(dispatch_queue_t)queue {
    NSCParameterAssert(queue != NULL);

    self = [super initWithName:name];
    if (self == nil) return nil;

    dispatch_retain(queue);
    _queue = queue;

    return self;
}

1 个答案:

答案 0 :(得分:2)

通过选择文件并按ENTER键禁用该文件的ARC,然后添加-fno-objc-arc编译器标志。

您将在以下链接中获得更多信息:

How to disable ARC for a single file in Xcode 5?

http://www.learn-cocos2d.com/2011/11/everything-know-about-arc/

希望这会解决它,在单个项目中同时使用ARC和非ARC。