问题标签 [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.
swift - 带自我的迅捷后卫
我正在以这种方式快速地跳弱强的舞蹈:
在此之前,我使用strongSelf
的是“self”而不是“self”。在一个网站上,我看到我可以使用这个字符 ` 。
但是这个角色在 Swift 中做了什么?没有这个,我无法分配给自己。为什么这行得通?使用它是一个好习惯吗?
swift - 如何判断哪个块守卫退出?
当guard
条件失败时,他们退出闭包。但是,让我感到困惑的是什么被认为是警卫退出的障碍?
例如,如果我有以下内容:
guard
退出只是if
, for
, ,while
还是整个?func
实际规则是什么,因为我在定义退出的内容时已经阅读了可互换使用的术语,但是每个术语都暗示了不同的事物block
。closure
guard
swift - 后卫快速编译问题中变量绑定后的条件
我正在使用来自 Swift 3.0(在 Xcode 8.0 中)的 nice guard 语句,并具有以下功能:
我的问题是 swift 编译器两次抱怨包含我的保护语句的行:
我试过了
where
用a替换,
然后第二个错误消失,但第一个错误仍然存在。- 替换为
where
但, where
随后这条线甚至无法解析 - 替换
count
where 中的,Int(s)
但有相同的错误。
我应该如何更改我的代码才能编译?(我的意思是,我的意思是,我可以有一个很好的单一保护语句,当然我可以有多个保护,或者 ifs 或 switch,但是从我读到的关于保护语句的内容中,我应该能够有一个清晰可读的行)。
swift3 - 从 Swift 3 中返回类型为 [String] 的函数提前返回
如果满足某些条件,我有一个返回字符串数组的函数。但我想在我的函数中有提前返回功能。像这样的东西:
但我面临以下问题:
Nil 与返回类型“[String]”不兼容
我试着只写return
声明。但它也失败了。该怎么办?
编辑:1
如果我只想从此函数返回而没有任何价值怎么办。回到调用这个函数的那一行。就像是:
swift - 保护条件引发编译器错误,讨论关闭
考虑这段代码:
非常荒谬,但关键是它编译得很好。现在将警卫替换为:
不是我们得到编译器错误!
错误:在所有成员初始化之前由闭包捕获的“自我”
我在任何地方都没有看到关闭。如果条件是复合表达式,编译器guard
是否会将条件转换为闭包,从而引入错误(如果有闭包,这将是正确的)?
错误或功能?
这是 Swift 3.0.2。
swift - swift中有后卫返回的简写吗?
有没有一种方法可以guard
自动返回而无需每次都实际写出来,例如:
在我实际上需要做一些事情的情况下,我会在我的额外处理中return
包含这个位。else { return }
它不是一个大麻烦,但它会是一件好事。
swift - 在guard let url之后,值仍然需要被解包
在一个单例类中,我正在尝试以下代码,其中包含存储在字典中的 3 个 URL:
但由于某种原因,该行guard let url = urls["en"] else { return }
不足以解开该值:
发生这种情况是因为URL
构造函数可能返回 nil 吗?
还是因为字典可能没有键值?
为什么守卫声明在这里还不够?
javascript - 条件绑定的初始化程序必须具有 Optional 类型,而不是 '[Key : Value?]'
我正在尝试将javascript翻译成swift。这是javascript方法:
我已经快速翻译了它,如下所示:
我在这一行遇到错误:guard let propertiesJson = properties else { return data }
swift 的翻译是正确的还是我遗漏了什么?