【问题标题】:Xcode 9 won't autocomplete functions by variable namesXcode 9 不会通过变量名自动完成函数
【发布时间】:2018-01-11 02:08:41
【问题描述】:

我们都知道并喜欢 Xcode 的自动完成功能。 上面的截图取自 Xcode 9。我看起来和它在 Xcode 8 中所做的一样。它知道我的类,以及它所有不同的声明和函数等。这不是 SearchPaths 问题。

在 Xcode 8 中,我们能够开始输入函数名称或在任何函数/初始化程序的声明中使用的任何变量的名称,以帮助自动完成单出我们想要的,像这样:

但是,在 Xcode 9 中不再发生这种情况。相反,它完全忽略上下文并开始显示自动补全,就好像我在新行上键入它一样。 有没有办法再次启用它?直到我失去它,我才知道我需要这个功能。

【问题讨论】:

  • 清理构建,强制退出 xcode,然后再次打开它。这能解决您的问题吗?
  • @MohammadBashirSidani 不。我也尝试过删除派生数据。从 Beta 1 开始就是这样。自从我第一次注意到这一点以来,我的 Xcode 和我的 Mac 都被重启了好几次。
  • 等等,这不是发生在你身上吗?
  • 在 Xcode8 上为我工作,但在 Xcode9 上不工作:(
  • 这太烦人了,尤其是当 Swift 函数变得相当复杂并且自动完成列表的排序不是很好时。

标签: ios xcode autocomplete xcode9-beta xcode9


【解决方案1】:

这在 XCode 9.3 中发生在我身上,但只有(似乎)满足以下所有条件:

  1. 实例是从不同于类型定义的文件或范围创建的
  2. 实例不是从函数内部创建的
  3. 当前范围内尚未创建相同类型的实例。 (正如 here 所讨论的那样。)

这意味着一些可能的解决方法。您可以在函数中创建实例,然后将代码行移至其他位置。或者您可以先创建一个虚拟实例,然后在下一行创建一个真实实例——即使您没有在虚拟行中包含参数,这仍然有效。例如:

let dummy = MyObject  // no autocomplete available here
let obj = MyObject(anything: Any Object)  // autocomplete working on this line!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-26
    • 2018-12-06
    • 1970-01-01
    • 2015-08-20
    • 2018-03-12
    相关资源
    最近更新 更多