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

时间:2016-07-22 18:52:32

标签: ios swift identifier reserved-words backticks

来自this document

  

要使用保留字作为标识符,请在其前后加上反引号(`)。

我对此的实际应用感到好奇。你什么时候想要命名`self`chef-full.erb等等?

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

2 个答案:

答案 0 :(得分:22)

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

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

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

`guard`()

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

答案 1 :(得分:6)

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

 guard let `self` = self else {
        return
 }