Xcode swift 方法完成在敲击 [tab] 键后没有提升任何内容

Xcode swift method completion does not promoted anything after stroke the [tab] key

尽管 swift lang 有这么多优点,但我没有采用 swift 代码的原因之一是它对 Xcode 的代码完成支持不佳。

这里有两个场景可以更好地描述我的问题。

场景 1:

在日常的APP开发过程中,可能会遇到不少协议方法。采取以下 UITableViewDataSource 方法

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)

例如,输入后

func tableView(tableView: UITableView,

,我一般都会打[tab]键,但是在swiftlang里没有什么可以推广的

虽然 Objective-C 一切顺利:

所以大多数情况下,我必须跳转到 UITableView(等待 1-2 秒让 Xcode 生成 swift header),然后复制所需的方法,然后将它粘贴到我正在编码的地方。

顺便说一句,如果你[command + left]上面粘贴的方法,Xcode不知道函数是什么,也不知道它在哪里定义。

场景二:

要调整动画,我需要将一种方法更改为具有更多参数的替代方法。

//from
class func animateWithDuration(duration: NSTimeInterval, animations: () -> Void)
//to
class func animateWithDuration(duration: NSTimeInterval, animations: () -> Void, completion: ((Bool) -> Void)?)

在 Objective-C 中,我将在最后一个右括号前敲击 [tab],一切正常。当我在 swift 中执行此操作时,只会出现一个选项卡(四个空格)。

我的问题是:

  1. 你是如何完成我上面描述的两个场景的?
  2. 有没有更好的方法来为 swift 完成同样的工作?(也许有可用的插件,或任何其他有用的提示)

这是我在swift写代码的时候也很鄙视的地方。没有很好的方法可以做到这一点,因此您必须在让它自动完成之前选择您的方法。

对于方案 1 和方案 2,您必须分别输入 tableViewanimateWithDuration 的首字母,然后使用向上和向下箭头选择您的方法,然后按 Tab 键完成整个方法。

swift的优点是会自动填写funcclass func,但你填写方法后,不能增减参数。

到目前为止,我找不到更简单的方法来执行此操作。你将不得不等待苹果改进他们的自动完成功能。