问题标签 [guard-statement]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
13 回答
120499 浏览

swift2 - Swift 的 guard 关键字

Swift 2 引入了guard关键字,可用于确保各种数据配置就绪。我在这个网站上看到的一个例子演示了一个 submitTapped 函数:

我想知道 usingguard与使用条件的老式方式是否有任何不同if。它是否提供了使用简单检查无法获得的好处?

0 投票
1 回答
1096 浏览

swift2 - 为什么 guard let x = x 表现出不同的作用域行为?

为什么guard let x = x 在方法内部的行为与外部不同?

下面的示例代码是直接从 Playground 复制而来的。

0 投票
3 回答
105 浏览

swift2 - 我的第一个守卫,这里合适吗?

我正在使用 Swift 2 并且正在查看我的代码以查找我正在保护并且我可能想要使用guard. 这是一个...

此代码的目标是将文本文件的内容读入mods. 这个文件可能存在也可能不存在,所以我想在尝试读取内容之前测试它是否存在。

这是一个合适的地方使用guard吗?看起来它只有else语法,没有then侧面,所以你不能直接匹配这个语法。我可以在开始时将 mods 设置为“”,然后保护读取,但我不清楚这是否真的提高了可读性?

作为旁注,我发现 String(contentsOfFile) 抛出非常奇怪,而 bundle.pathForResource() 只是返回一个 nil。我更喜欢后者。

0 投票
3 回答
15234 浏览

swift - Swift 错误:防护体不能通过

我有以下guard语句,这会产生错误。怎么了?

错误:“守卫”身体可能不会掉落

错误:'guard' body 不能通过,考虑使用 'return' 或 'throw' 退出范围

0 投票
1 回答
2508 浏览

swift - 在 Swift 2 中设置多个类属性时的防护

做这样的事情很简单:

在那种情况下,我们let用来初始化局部变量。但是,修改它以使用类属性会导致它失败:

它抱怨letvar需要使用,但显然情况并非如此。在 Swift 2 中执行此操作的正确方法是什么?

0 投票
1 回答
2033 浏览

swift2 - 如何在功能之外使用守卫?

是否可以在guard函数之外使用?

以下会引发需要使用 return 或 break 的错误,但在这种情况下这是不可能的。

0 投票
2 回答
370 浏览

ios - Swift 1.2 到 2.0 的转换 - 保护 vs if let

我正在尝试将一些代码从 Swift 1.2 转换为 2.0。我在 Swift 1.2 中有以下代码

有两种方法可以将其转换为 Swift 2.0guardif let

这是代码的样子if let

这是使用保护语法的外观

我想知道什么被认为是一种更干净、更合适的写作方式。守卫对我来说看起来更干净,但是有什么规则可以规定我什么时候应该使用一个而不是另一个?有没有办法进一步简化方法?

0 投票
1 回答
84 浏览

ios - 为什么不守卫创建未包装的var?

为什么我需要unwrapped在最终的 return 语句中解包变量?守卫不应该处理吗?

错误:可选类型“字符串?”的值 未拆封;你的意思是用'!' 或者 '?'?返回 fmt.stringFromNumber(展开)

0 投票
3 回答
242 浏览

ios - 守卫行动 Swift 2

我使用 Swift 2 和 Xcode 7。

我想知道两者的区别

0 投票
2 回答
2399 浏览

swift - Swift 2.0 守卫给我错误

我正在使用警卫功能,当我在下面输入警卫语句时:

我收到错误“在警戒条件后预期其他”,这没什么大不了的,因为无论如何我都想在其中添加一个 else 子句,所以我写道:

这次它抛出了错误“在 func 之外返回无效”,这令人困惑,我以前没有见过这个错误。所以我在返回后的状态中添加了 nil 。同样的错误。我不知道发生了什么事。帮助会给你我无限的感激。