我正在查看 Square Cam in Apple's sample code 的一些示例代码.我想在使用 ARC 的现代项目中复制它的一些功能。但是,有大量的 require 语句,例如:
BOOL success = (destination != NULL);
require(success, bail);
生成编译器错误:
Goto into protected scope.
我的问题是——在使用 ARC 的项目中处理此类语句的合适方法是什么?
最佳答案
我遇到了同样的问题(使用相同的示例代码)。代码如下所示:
BOOL success = (destination != NULL);
require(success, bail);
//Initialise some variables
bail:
//Deal with errors
我在带有声明的 block 周围添加了大括号,以明确它们的范围:
BOOL success = (destination != NULL);
require(success, bail);
{
// *** Initialise some variables ***
}
bail:
{
//Deal with errors
}
它解决了我的问题。通过查看这个,我还了解到您有时可以扩展构建错误以获得更多详细信息。
关于objective-c - 您如何使用 ARC 处理 'require( ..., bail)' 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11388853/