【发布时间】:2016-08-04 21:44:02
【问题描述】:
我有一个项目,两年前以 Obj-C 开始,但最近添加了许多 Swift 2.0。目前这一比例约为 75%/25%,有利于 Obj-C,但正在向 Swift 增长。
在旧项目中很常见,对吧?这就是问题所在:从 XCode 7.3 开始,我无法让代码完成在 Swift 中正常工作。
我采取以下步骤:
- 关闭 Xcode
- 终端 -> rm -rf ~/Library/Developer/Xcode/DerivedData/*
- 终端 -> rm -rf ~/Library/Caches/com.apple.dt.Xcode
一切都很好。但是,一旦我完成了 XCode 项目的完整构建,问题就回来了,而且 Swift 不会完成代码,直到我再次删除派生数据(手动或通过 XCode)并重新索引所有文件。
Objective-C 确实完成了,默认的和手动创建的宏也仍然有效。只是索引似乎坏了。
请问,有没有人听说过这种行为并知道解决方法? 必须手动输入所有内容是很好的 Swift 培训,但我的一些方法有多个块参数,写出来会很痛苦。
如果这很重要,我一直在较新的类中使用 Swift 2.0 到 2.2 的语法。
【问题讨论】:
-
您的应用程序是否构建和运行?如果是这样,您能否将问题简化为一个小型演示项目?如果是这样,请向 Apple 提交错误报告!
-
这种情况经常发生。 Swift 的开发工具简直糟透了。
-
你的桥接头中有很多文件吗?
-
很多很多很多很多很多。我发现这也是它的原因;我分解了项目的一部分,它似乎工作正常,但是当我连接额外的 75% 代码时,语法突出显示消失了。不幸的是,有很多必需的依赖项;唯一的选择是重写大部分写回Objective-C的代码,这样我就可以删除很多依赖项。这不是一个真正的选择。
标签: ios objective-c swift swift2 xcode7