【发布时间】:2012-07-09 03:43:48
【问题描述】:
我正在查看Square Cam in Apple's sample code 的一些示例代码。我想在使用 ARC 的现代项目中复制它的一些功能。但是,有大量的 require 语句,例如:
BOOL success = (destination != NULL);
require(success, bail);
这会产生编译器错误:
转到受保护的范围。
我的问题是——在使用 ARC 的项目中处理此类语句的适当方法是什么?
【问题讨论】:
-
还有一点需要注意——我想过简单地将控制器标记为不使用 ARC,但这并不理想,因为在文件中工作会很困难。标记第三方库不使用 ARC 很好,但如果它是项目实施的一部分,它将创建一个糟糕的工作流程,因为 XCode 在您打开文件时仍然会生成编译器错误/警告。在给定控制器的源代码中工作时,不可能看到实际的警告或错误。
-
我没有收到这样的错误。你的“保释”线在哪里?还是您按原样使用示例代码?
-
人们对我的问题投反对票是否有原因?
-
@JimJeffers 我在使用相同的源代码时遇到了同样的问题(再次感谢 Apple),下面接受的答案似乎不适用。您能详细说明您是如何修复这些错误的吗?
标签: objective-c ios automatic-ref-counting llvm