Swift -- UIMenuController中重写canBecomeFirstResponder

项目中遇到的问题记录下:
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也是严格区分的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容