加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift – 二进制运算符’===’不能应用于类型“Any?”的操作数

发布时间:2020-12-14 05:41:57 所属栏目:百科 来源:网络整理
导读:以下代码用于在swift 2.2中编译,不再是swift 3.0.我们如何解决这个问题? Error: Binary operator ‘===’ cannot be applied to operands of type ‘Any?’ and ‘UIBarButtonItem!’ override func prepare(for segue: UIStoryboardSegue,sender: Any?) {
以下代码用于在swift 2.2中编译,不再是swift 3.0.我们如何解决这个问题?

Error: Binary operator ‘===’ cannot be applied to operands of type ‘Any?’ and ‘UIBarButtonItem!’

override func prepare(for segue: UIStoryboardSegue,sender: Any?) {
    if sender === saveButton { // Error!
        // ... 
    } else if sender === closeButton { // Error!
        // ...
    }
}
正如错误信息所说.在Swift 3中,Objecitve-C id导入为Any,您不能调用任何包含===的任何操作,而不需要显式转换.

尝试这个:

if sender as AnyObject? === saveButton {

(与其他发件人比较一样)

并记住,在Swift 3中,随着AnyObject已经成为最危险的操作之一,在其他情况下不应该使用AnyObject.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读