【发布时间】:2020-09-04 16:44:35
【问题描述】:
我在下面创建了这两种方法来注销用户。当 logout2(...) 被调用时,用户可以在 logout1() 运行之前对 anyFinalChanges 进行任何更改。
private func logout1() {
Cache.clearCache()
}
func logout2(anyFinalChanges: () -> (), userLoggedOut: () -> ()) {
anyFinalChangesInThisClosure()
logout()
userLoggedOut()
}
当我实现注销方法时,第二个闭包不显示名称
.logOut2(anyFinalChanges: {
}) { //No Name here.. why is that?
}
我怎样才能使闭包的名称始终出现?
【问题讨论】:
-
这是 Swift 的尾随闭包语法。 docs.swift.org/swift-book/LanguageGuide/Closures.html#ID102你可以通过指定闭包的名称来调用你的方法,只是Xcode(我猜你使用Xcode)默认使用这种语法。
-
是的,我正在使用 xCode,但这可以解决问题,谢谢!
标签: ios swift closures completionhandler