使用Xcode 9.2与Swift 4实现didSelectCountry代理方法时协议报错求助
搞定Xcode 9.2 + Swift 4里的代理协议不兼容错误
兄弟,我太懂你这种卡壳的感觉了!之前我用Xcode 9.2写Swift 4代码时,也碰到过一模一样的问题——明明已经声明了要遵守的协议,实现didSelectCountry代理方法时却一直弹出“Not conform to protocol -- Swift”的错误,甚至Xcode自动生成的代码stub都不管用,当时真的头大。
后来折腾了半天才发现,这居然是Xcode的一个bug!罪魁祸首是项目里存在的全局错误类引用,它干扰了Xcode对协议一致性的检查逻辑,导致编辑器误判我们的类没遵守协议。
给你分享下我解决的步骤:
- 先清掉项目缓存(快捷键
Cmd+Shift+K),然后彻底重启Xcode - 排查项目里的全局错误类引用,调整它们的作用域或者重构下代码结构
我这么操作之后,那个烦人的错误提示直接消失了,项目也能正常运行了!
内容的提问来源于stack exchange,提问作者Anton Kashpor
相关产品推荐
相关产品推荐

