有没有快速返回警卫的简写?

Geu*_*uis 5 swift swift-guard

有没有一种方法可以guard自动返回而无需每次都实际写出来,例如:

guard let url = self.webView.url else { return }
guard let componentDict = URLComponents(string: url.absoluteString)?.dict else { return }
guard let id = componentDict["v"] else { return }
guard let idUrl = URL(string: baseUrl + id) else { return }
Run Code Online (Sandbox Code Playgroud)

如果我实际上需要做一些除了 之外的事情return,我会在else { return }我的额外处理中包含该位。

这不是一个巨大的麻烦,但它会是一件好事。

Jay*_*eep 5

guard语句输入else必须是,没有快捷方式,但您可以使用if..let来避免else语句。

或将此相关变量语句与单个guard语句结合使用

   guard let url = webView.url,
         let componentDict = URLComponents(string: url.absoluteString)?.dict,
         let id = componentDict["v"],
         let idUrl = URL(string: baseUrl + id)
         else { return }
Run Code Online (Sandbox Code Playgroud)