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.我们如何解决这个问题?
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. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |