【发布时间】:2026-01-08 15:15:02
【问题描述】:
在我的 ARC iOS 项目中使用 goto 时出现此编译器错误。
不能从这个 goto 语句跳转到它的标签。跳转绕过 保留变量的初始化
我知道 goto 通常很糟糕,但是...请告诉我如何解决它。代码如下,
//some process
NSArray *current = ... ;
if (current.count ==0) goto cleanup;
//proceed to next
if (processed failed) goto cleanup;
//further process
cleanup:
//clean up codes
【问题讨论】:
-
看起来您在 for(;;) 语句中初始化了一个局部变量,然后您通过 goto: 离开了这些范围,并且 ARC 不再能够释放该变量。
-
"goto" 在 obj-c 中。我第二次看到它,第一次是在一本书里。
-
你能再贴一些代码吗?
-
解决了!看我的回答。
标签: ios xcode automatic-ref-counting goto