【问题标题】:Why does Xcode line-out autocomplete methods for selector?为什么 Xcode 会为选择器添加自动完成方法?
【发布时间】:2020-06-01 16:41:18
【问题描述】:

自从我升级到最新的 Xcode 后,selector 对象的自动补全(删除线)方法。我不知道这是 Xcode 的错误还是我不知道有一些新的语法更改。如果您将其插入您的 Playground 并删除 #selector(tapHandler(_:)) 中的方法并重新输入它,自动完成是否会排除 tapHandler(_:) 建议?

class Mango {
    func tap() {
        let tap = UITapGestureRecognizer(target: self, action: #selector(tapHandler(_:)))
    }

    @objc func tapHandler(_ sender: UITapGestureRecognizer) {

    }
}

【问题讨论】:

  • 我会说这是一个错误——尤其是因为您仍然可以选择被划掉的tapHandler,然后代码就会编译并正确运行。
  • 很好地发现了@acidgate——同样的事情发生在我身上。即使你导入 UIKit。

标签: swift xcode


【解决方案1】:

不要输入 tapH 并要求自动完成,而是输入 self.tapH 并要求自动完成。问题消失了。

所以,是的,我宁愿认为这是一个错误(除非 Swift 发生了变化,因此您不能在方法引用中省略该类),但也有一个简单的解决方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-10
    • 1970-01-01
    • 2021-12-19
    • 2011-02-16
    • 1970-01-01
    • 1970-01-01
    • 2019-02-23
    • 2015-11-17
    相关资源
    最近更新 更多