gpt4 book ai didi

ios - 修复 Xcode 中的 "Lexical or Preprocessor Issue - Extension used"警告?

转载 作者:可可西里 更新时间:2023-11-01 05:12:10 26 4
gpt4 key购买 nike

我继承了一个新项目,它有几个保留周期警告,这是由于在各个 block 中隐式保留 self 而引起的。

为了解决这些问题,我写了

__weak typeof(self) weakSelf = self;

创建 block 内使用的弱引用。

但是,Xcode v.5.1.1 给出了神秘的警告

Lexical or Preprocessor Issue 
Extension used

我在这里不知所措——这是什么意思,我怎样才能摆脱它?

最佳答案

如果在build设置中启用了“Pedantic Warnings”,则会收到此警告以使用 typeof。来自此设置的“快速帮助”:

Description Issue all the warnings demanded by strict ISO C and ISO C++; reject all programs that use forbidden extensions, and some other programs that do not follow ISO C and ISO C++. For ISO C, follows the version of the ISO C standard specified by any -std option used. [GCC_WARN_PEDANTIC, -pedantic]

我不是 (ISO) C 标准方面的专家,但根据 https://gcc.gnu.org/onlinedocs/gcc/Typeof.html :

If you are writing a header file that must work when included in ISO C programs, write __typeof__ instead of typeof. See Alternate Keywords.

http://clang.llvm.org/docs/UsersManual.html :

The parser recognizes “asm” and “typeof” as keywords in gnu* modes; the variants “__asm__” and “__typeof__” are recognized in all modes.

您可以使用 __typeof__ 代替如果您不想禁用警告:

__weak __typeof__(self) weakSelf = self;

关于ios - 修复 Xcode 中的 "Lexical or Preprocessor Issue - Extension used"警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25511982/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com