美文网首页
Swift -- UIMenuController中重写can

Swift -- UIMenuController中重写can

作者: 生无可恋的程序员 | 来源:发表于2019-12-17 11:21 被阅读0次

    项目中遇到的问题记录下:
    Swift中UIMenuController中要获取第一响应者才能弹出此控件,百度中都是说要重写canBecomeFirstResponder,因为OC是这样写的

    //OC
    - (BOOL)canBecomeFirstResponder {
        return YES;
    }
    

    没注意想当然就写成这样了

    //Swift
    override func canBecomeFirstResponder() ->Bool {
        return true
    }
    

    但是这样是会报错的,还不知道啥原因。
    后面command进去看,才恍然大悟这是个属性变量,重写它的get方法就行了。

    //就是这样
    override var canBecomeFirstResponder: Bool {
        return true
    }
    
    //为了体现get方法,可以这样写,更直观。
    override var canBecomeFirstResponder: Bool {
        get {
            return true
        }
    }
    

    很简单的东西,但是很多人应该遇到过,尤其是OC刚转Swift的朋友。Swift对数据类型要求很严格,对方法func和属性变量var或let也是严格区分的。

    相关文章

      网友评论

          本文标题:Swift -- UIMenuController中重写can

          本文链接:https://www.haomeiwen.com/subject/tnhsnctx.html