Swift -- UIMenuController中重写can

2019-12-17  本文已影响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也是严格区分的。

上一篇下一篇

猜你喜欢

热点阅读