在Swift中使用反引号的实际应用

Luk*_*uke 17 reserved-words identifier backticks ios swift

这份文件:

要使用保留字作为标识符,请在其前后放置一个反引号(`).

我很好奇这个的实际应用.你什么时候会真正想要的东西的名字`class`,`self`等等?

或者,相关地,为什么Swift的设计者允许这样做,而不是仅仅禁止我们使用保留字作为标识符?

Sul*_*han 22

最重要的用法是与具有不同关键字的其他语言进行交互.

从Swift你可以调用C和Obj-C函数.

现在,考虑一下你需要调用一个被调用的C函数guard.但是,这是Swift中的关键字,因此您必须告诉编译器您不希望将其用作关键字,而是将其用作标识符,例如:

`guard`()
Run Code Online (Sandbox Code Playgroud)

Swift中有多个关键字被广泛用作方法/函数名称,例如getset.对于许多情况,斯威夫特能够找出差异,但并非总是如此.


Ali*_*ran 6

在某些情况下使用保护为我们提供了很好的例子.在这样的场景中我需要检查自变量生命时间,如果不再存在(当前控制器解除分配)我不想执行其余的代码.

 guard let `self` = self else {
        return
 }
Run Code Online (Sandbox Code Playgroud)

  • 从 Swift 4 开始,这种情况下不再需要反引号。 (2认同)