有没有简化输入Swift尾随闭包的方法?

11

尾随闭包使代码更易读,但编码过程并不令人愉快。例如,当我想要输入下面这种只接受一个闭包参数的方法时,没有提示可供选择尾随闭包:

enter image description here

我必须删除()中的内容,并像这样键入完整的闭包:

enter image description here

有没有办法让这个过程更容易?

2个回答

23

要完成方法名输入,请先输入ENTER键一次,然后再次输入ENTER键以自动格式化闭包。

当我开始输入函数名称时:

enter image description here

按下ENTER键一次后:

enter image description here

然后,再次按下ENTER键:

enter image description here

总之:输入函数的前几个字母,等待自动建议,然后按ENTER键两次。


这似乎无法正确地与 .toolbar(content: () -> View) 一起使用,它只会用 { code } 替换 () -> View,并且不会生成尾随闭包。但在其他情况下它确实有效。也许是 XCode 的一个 bug? ‍♂️ - GazB
1
@GazB Xcode 13的格式化系统确实有问题,它应该能够正常工作。 - Eric Aya

-2
如果闭包需要参数,你只需要这样做:
actionButton.snp_makeConstraints { make in 
    // Stuff
}

多个参数:

actionButton.snp_makeConstraints { make, extraParam in
    // Stuff
} 

无参数:

actionButton.snp_makeConstraints {
    // Stuff
}

供日后参考:http://goshdarnclosuresyntax.com


这并没有回答楼主的问题。他们问如何使用代码提示更轻松地获得此结果。您已经解释了什么是尾随闭包。 - GazB

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接