美文网首页
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