【发布时间】:2016-02-16 08:20:01
【问题描述】:
不确定是否有其他人遇到过这种情况,但以下代码会导致 XCode 立即出错,并显示“SourceKitService 意外退出”,有时会导致 XCode 完全崩溃。
当我在扩展中更改协议函数的默认实现时,我在项目中遇到了这种情况,但忘记更改协议中的声明以匹配。
protocol Crash{
func crash(age: Int) ->String
}
extension Crash{
func crash(name: String) -> String{
return "Test"
}
}
class TestCrash: Crash{
}
【问题讨论】:
-
我有同样的经历,我没有答案......但最好的解决方法是如果在扩展中定义,则不要在协议中声明函数,因为这样的声明是多余的。这似乎是一个错误,编译器应该抱怨,TestCrash 不符合协议 Crash,因为 func crash(age: Int) ->String 没有实现。
-
感谢您的信息,没有意识到协议中的声明是多余的。
标签: crash swift2 protocols xcode7.2 sourcekitservice