1

我的代码正在编译并正常运行,但我的 SourceKitService 不断崩溃。只有当我使用或引用实现特定协议的文件时才会发生崩溃。

  • 如果我从类中删除协议,就不会再崩溃了。
  • 此外,如果我编辑协议本身以注释掉其中的两种方法,则不会再发生崩溃。

(是的,我已经删除了 DerivedData。我已经清理了项目,删除了 Xcode,重新启动了我的计算机,重新安装了 Xcode 等。这些都不能解决问题)

因此,这会在编辑或引用实现类时导致持续崩溃:

protocol JSONable {
    typealias ItemType
    func toDictionary() -> NSDictionary
    class func fromJSON(json: JSON) -> ItemType?
}

但这似乎根本没有给 Xcode 带来任何问题:

protocol JSONable {
    typealias ItemType
    // func toDictionary() -> NSDictionary
    // class func fromJSON(json: JSON) -> ItemType?
}

(如果只有其中一行未注释,它也会崩溃)

关于可能导致这种情况的任何想法?我不想放弃使用协议并在我的基类中使用断言“虚拟”方法,但我不能继续以这种方式使用 IDE。

4

1 回答 1

0

我有非常相似的问题。我目前的解决方案是将协议和类放在同一个文件中。这解决了问题,但我当然不能永久解决。

于 2014-10-31T13:16:32.803 回答