出于某种原因,在Xcode 8.2中,我的代码完成已停止工作.我已经清理了我的产品,重新启动了Xcode,重新启动了我的计算机,并删除了派生数据,但仍然没有运气.我已将此提交给Apple支持.有没有人遇到这个并且能够修复它?
Chi*_*may 154
更新: 根据@Dareon解决方案,下面也适用于Xcode版本8.3(8E162)和8.3.2(8E2002).谢谢,@ Dareon确认.:)
我正面临同样的问题,后来为我工作.
我正在使用Xcode版本8.2.1(8C1002).
至少,它对我有用.
cha*_*les 15
代码完成在Xcode 8.2.1中也停止了工作,没有任何清理,派生数据一次性或重新启动修复它.过了一会儿,我意识到代码完成只在我正在处理的扩展范围内被破坏.如果手动输入,代码将被正确突出显示并且可以正常编译,因此这不是源代码抛出任何解析器负责代码完成的问题.
在这个非常简单的例子中,这是它发生的特定上下文:
struct SomeStruct {
static let foobar1 = {
return NSBezierPath()
}()
}
extension SomeStruct {
static let foobar2 = {
return NSBezierPath()
}()
}
Run Code Online (Sandbox Code Playgroud)
代码完成在实现块中正常工作foobar1,但不适用于foobar2.这是static let一个扩展中的一个似乎触发它的存在.结构和类都会出现此问题.
看起来像Xcode的一个错误,所以我唯一的解决方法是foobar2进入主要的定义SomeStruct.
| 归档时间: |
|
| 查看次数: |
23528 次 |
| 最近记录: |