2016-11-25 63 views
1

IOS相对较新&从Android背景下的Xcode中,我发现在一些教程中按回车键结束闭包,Xcode以特殊方式格式化它。但在我的情况下,这并不总是奏效。Xcode 8 End Closure Autocompletion问题

之前会发生什么情况后按下回车键为我 enter image description here enter image description here

我见过,很想做的事。 enter image description here

另一个例子,通过这个视频中提到(起始13.06,结束13.16) https://youtu.be/v9JtVJUxX7k?t=13m6s

相比其他IDE的Xcode是非常错误目前所以它很难说,如果这仅仅是一个错误,或者如果我我做错了什么。有没有人能够指导我如何才能实现这个目标或为什么会发生?

+0

不要使用解决方案更新您的问题。相反,如果其他答案尚未提供最佳解决方案,请发布实际答案。否则,请接受其他答案之一。 – rmaddy

回答

1

从屏幕截图中很难确定,但是看起来好像没有按下Return键,而完成处理程序占位符实际上是选定了。你必须选中它,或点击占位符。在您的配色方案中,我相信占位符背景颜色将变得更加饱和,并且占位符块内的文本颜色将变得黑暗而不是光线。在这个选定的占位符状态下,按下Return键将创建您希望的尾随闭包语法。

对于什么是值得的,我在Xcode 8.2 beta 2中输入了与上例中完全相同的代码,并且当我选择占位符块并按下Return时,我得到了预期结尾语法5 out of 5倍。

+0

感谢您对此进行测试,看起来好像在玩过一些游戏后,如果您想自动完成尾部封闭,它必须是您的第一件事。例如,在我提供的图像示例中,如果我输入“请求”的值,然后尝试自动完成封闭,它将无法工作。反之亦然,它正是我想要的。这是你的情况吗? – Rykuno

+0

@Rykuno嗯......这很奇怪。这不是它对我的表现。我可以输入其他参数,删除其他占位符等。只要我一直不更改或删除完成处理程序占位符,我总是可以选中或反转选项卡并按回车键,或者单击它并按回车键,或者只需双击它。所有这些方法都可以100%用于创建尾随封闭。您是否正在使用Xcode的最新测试版或更早版本? –

+0

当前运行的版本8.1。我会继续下载测试版来尝试一下。一位运行相同版本的朋友刚回到我身边,并确认自动填充功能无法工作,除非您先自动填充它们。这与其他人一起说他们在版本8中删除它让我觉得它可能只是这个版本的奇怪吗?无论如何,当我完成下载8.2时,我会回来看看它只是一个8.1的事情,其他人有这个问题。 – Rykuno

4

对于Xcode 8.1来说,自动完成对于追踪闭包而言必须在任何其他占位符之前处理。切换到Xcode 8.2也解决了这个问题。

对于图像中的示例,在编辑请求占位符以实现所需效果之前,必须自动完成尾部闭合。 enter image description here