为了账号安全,请及时绑定邮箱和手机立即绑定

swift编译错误

swift编译错误

郎朗坤 2019-04-23 15:12:57
最近在跟着斯坦福大学的ISO8开发学习下面的代码,编译出错funcperformOperation(operation:(Double,Double)->Double){ifoperandStack.count>=2{displayValue=operation(operandStack.removeLast(),operandStack.removeLast())enter()}}funcperformOperation(operation:Double->Double){ifoperandStack.count>=1{displayValue=operation(operandStack.removeLast())enter()}}出现下面的错误:Method'performOperation'withObjective-Cselector'performOperation:'conflictswithpreviousdeclarationwiththesameObjective-Cselector
查看完整描述

2 回答

?
隔江千里

TA贡献1906条经验 获得超10个赞

如果你这个类没继承Objective-C的类,代码不会出错的,显然你这个类继承了一个Objective-C的类,Objective-C不支持方法重载,而这两个方法的selector是一样的,所以就错了。
要么你给两个方法起不一样的名字,要么你想办法让这个类不要继承Objective-C的类,要不你把其中一个设成private,或者你还可以把其中的一个方法加一个Objective-C不支持的参数类型比如()=()之类的。总之就是不要让这两个方法同时和Objective-C打交道就没问题。
话说新版的Swift应该能编译过去,但运行的时候会挂。
                            
查看完整回答
反对 回复 2019-04-23
  • 2 回答
  • 0 关注
  • 244 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号