问题标签 [swift-guard]

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 投票
2 回答
3677 浏览

swift - 带自我的迅捷后卫

我正在以这种方式快速地跳弱强的舞蹈:

在此之前,我使用strongSelf的是“self”而不是“self”。在一个网站上,我看到我可以使用这个字符 ` 。

但是这个角色在 Swift 中做了什么?没有这个,我无法分配给自己。为什么这行得通?使用它是一个好习惯吗?

0 投票
1 回答
47 浏览

swift - 如何判断哪个块守卫退出?

guard条件失败时,他们退出闭包。但是,让我感到困惑的是什么被认为是警卫退出的障碍?

例如,如果我有以下内容:

guard退出只是if, for, ,while还是整个?func

实际规则是什么,因为我在定义退出的内容时已经阅读了可互换使用的术语,但是每个术语都暗示了不同的事物blockclosureguard

0 投票
1 回答
423 浏览

swift - 后卫快速编译问题中变量绑定后的条件

我正在使用来自 Swift 3.0(在 Xcode 8.0 中)的 nice guard 语句,并具有以下功能:

我的问题是 swift 编译器两次抱怨包含我的保护语句的行:

我试过了

  • where用a替换,然后第二个错误消失,但第一个错误仍然存​​在。
  • 替换为where, where随后这条线甚至无法解析
  • 替换countwhere 中的,Int(s)但有相同的错误。

我应该如何更改我的代码才能编译?(我的意思是,我的意思是,我可以有一个很好的单一保护语句,当然我可以有多个保护,或者 ifs 或 switch,但是从我读到的关于保护语句的内容中,我应该能够有一个清晰可读的行)。

0 投票
1 回答
589 浏览

swift3 - 从 Swift 3 中返回类型为 [String] 的函数提前返回

如果满足某些条件,我有一个返回字符串数组的函数。但我想在我的函数中有提前返回功能。像这样的东西:

但我面临以下问题:

Nil 与返回类型“[String]”不兼容

我试着只写return声明。但它也失败了。该怎么办?

编辑:1

如果我只想从此函数返回而没有任何价值怎么办。回到调用这个函数的那一行。就像是:

0 投票
1 回答
183 浏览

swift - 保护条件引发编译器错误,讨论关闭

考虑这段代码:

非常荒谬,但关键是它编译得很好。现在将警卫替换为:

不是我们得到编译器错误!

错误:在所有成员初始化之前由闭包捕获的“自我”

我在任何地方都没有看到关闭。如果条件是复合表达式,编译器guard是否会将条件转换为闭包,从而引入错误(如果有闭包,这将是正确)?

错误或功能?

这是 Swift 3.0.2。

0 投票
2 回答
323 浏览

swift - swift中有后卫返回的简写吗?

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

在我实际上需要做一些事情的情况下,我会在我的额外处理中return包含这个位。else { return }

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

0 投票
3 回答
93 浏览

swift - 在guard let url之后,值仍然需要被解包

一个单例类中,我正在尝试以下代码,其中包含存储在字典中的 3 个 URL:

但由于某种原因,该行guard let url = urls["en"] else { return }不足以解开该值:

截屏

发生这种情况是因为URL构造函数可能返回 nil 吗?

还是因为字典可能没有键值?

为什么守卫声明在这里还不够?

0 投票
1 回答
44 浏览

javascript - 条件绑定的初始化程序必须具有 Optional 类型,而不是 '[Key : Value?]'

我正在尝试将javascript翻译成swift。这是javascript方法:

我已经快速翻译了它,如下所示:

我在这一行遇到错误:guard let propertiesJson = properties else { return data } swift 的翻译是正确的还是我遗漏了什么?