ios - swift 3 : Warning "Unused result of call" when overriding BecomeFirstResponder

标签 ios swift3

UIView 子类中,我覆盖了 BecomeFirstResponder(它返回一个 Bool

class MyViewSubclass:UIView {
 ...
    override func becomeFirstResponder() -> Bool {
        // some stuff
        return super.becomeFirstResponder()
    }
 ...
}

在子类的对象上调用此方法时,我收到警告 Result of call to 'becomeFirstResponder()' is Unused

当我不覆盖 becomeFirstResponder 时,不会出现此消息。

我知道在 Swift 3 中,返回结果的方法的行为发生了变化(请参阅 SE-0047 上的 @discardableResult),但我希望重写具有与其 super 方法相同的行为。

我的想法是错误的还是可能是编译器错误?

编辑:
仅供引用,I filed a bug为此。

最佳答案

不知道是不是bug。如果您重写了一个函数,那么返回值现在完全有可能不能被忽略。如果这是你想要的,我会简单地添加 @discardableResult :

@discardableResult override open func becomeFirstResponder() -> Bool {
    // some stuff
    return super.becomeFirstResponder()
}

关于ios - swift 3 : Warning "Unused result of call" when overriding BecomeFirstResponder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38638459/

相关文章:

ios - 动态 UILabel 截断文本

ios - TabBar 在程序化 segue 时消失

ios - 访问和修改 iMessage 中的用户输入栏

ios - LAContext().biometryType 在 iPhone X 上返回 .none

swift - 任何 Swift 类型的 Getter Setter

ios - 使用 EC key 签名时 SecKeyRawSign 返回 -50

ios - 如何在运行 session 期间更改 AVCaptureMovieFileOutput 视频方向?

swift3 - 在 UIAlertView 中设置 TextField 和 PickerView

swift - 类型 'Any' 没有下标成员

ios - 处理多个单例类时代码卡住