Xcode中是不是有一种简单的方法可以从末尾删除完成块?

Posted

技术标签:

【中文标题】Xcode中是不是有一种简单的方法可以从末尾删除完成块?【英文标题】:Is there an easy way in Xcode to remove the completion block from the end?Xcode中是否有一种简单的方法可以从末尾删除完成块? 【发布时间】:2020-04-24 11:28:00 【问题描述】:

每个 Swift 函数最后都有一个完成处理程序,如下所示:

func hello(_ name: String, completionHandler: (String) -> Void) 
    completionHandler("Hello \(name).")

可以这样称呼:

hello("Stack Overflow", completionHandler:  text in
    print(text)
)
// Prints Hello Stack Overflow.

但也更简单:

hello("Stack Overflow")  text in
    print(text)

// Prints Hello Stack Overflow.

但是在 Xcode 中编写代码并开始输入 hello 时,您将获得完整的功能。是否有一个简单的简码,您可以按下它来立即从函数中删除completionHandler,还是您必须手动删除?

【问题讨论】:

请注意,如果您双击 completionHandler 的占位符,您应该会获得最新版本(虽然带有显式参数和“in”)。 当您跳到函数签名中的最后一项时,按回车键,它会自动将其转换为尾随闭包,就像您更简单的示例一样。 你在谈论两个不同的东西:尾随闭包语法和速记$0)语法。您按照其他人的建议免费获得前者,但您没有获得后者。 @Larme 我不知道谢谢。 @Andrew 这就是我正在寻找的答案。 【参考方案1】:

键入hello,如果建议列表中出现正确的函数方法,请按ENTER。完整的方法会出现,你会得到。

键盘: CTRL + / 到完成处理程序 (String) -> Void 并按 ENTER

鼠标:双击文字(String) -> Void>)

【讨论】:

以上是关于Xcode中是不是有一种简单的方法可以从末尾删除完成块?的主要内容,如果未能解决你的问题,请参考以下文章

是否有一种简单或正确的方法来删除spring安全插件?

如果从某个 html 文件接近,是不是有一种简单的方法可以只执行 if 语句?

Python:仅在列表末尾删除重复值

当您使用 Python 的 Paramiko 库进行 SSH 并从远程机器的 CLI 获取输出时,是不是有一种简单的方法可以消除垃圾值?

当您使用 Python 的 Paramiko 库进行 SSH 并从远程机器的 CLI 获取输出时,是不是有一种简单的方法可以消除垃圾值?

当您使用 Python 的 Paramiko 库进行 SSH 并从远程机器的 CLI 获取输出时,是不是有一种简单的方法可以消除垃圾值?