这个函数做什么"覆盖func`self`() - >自&#34 ;?

时间:2016-02-29 05:08:28

标签: ios swift amazon-web-services

我正在GitHub上阅读AWS SDK示例代码,并看到以下两个函数:

// MARK: NSObjectProtocol hack

override func isEqual(object: AnyObject?) -> Bool {
    return super.isEqual(object)
}

override func `self`() -> Self {
    return self
}

这只是上面的一条评论" NSObjectProtocol hack",这对我来说并没有多大意义。任何人都可以解释他们在这里要做什么吗?

2 个答案:

答案 0 :(得分:1)

这是使用关键字作为标识符的示例。您必须在关键字之前和之后放置反引号才能使用它。根据{{​​3}}(在标识符部分下)

  

要使用保留字作为标识符,请在其前后加上反引号(`)。例如,class不是有效的标识符,但`class`是有效的。反引号不被视为标识符的一部分; `x`和x具有相同的含义。

// MARK: NSObjectProtocol hack用于评论允许Xcode将属性/方法列表格式化为组的代码部分。

答案 1 :(得分:1)

这是使用最新Swift时可以忽略的遗留代码。 Swift的早期版本存在一些问题,即识别出mapper对象间接继承自NSObject并实现NSObjectProtocol。当前版本的Swift没有问题,因此您可以放心地忽略这两种方法。