问题标签 [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.
swift - Swift 2.0 Guard 语句失败结构初始化器
有一个类似名称的主题,但该示例是由于用户错误而导致的错误。我相信这个例子是一个实际的 XCode 问题。
我正在关注一个树屋教程,本着 swift 2.0 的精神,我在初始化程序中使用了保护语句而不是 if let。除了使用保护语句外,我的代码与指令相同。它有一个错误说“从初始化程序返回而不初始化所有存储的属性”。一旦我将其更改为 if let 语句,它就起作用了。也许我在某个地方犯了一个错误,但我盯着它至少看了一个小时,没有任何属性未初始化。
我在 else 子句中使属性等于 nil 以防万一,但这并没有影响任何事情。
结构每日天气{
function - 象限给定函数的错误
在输入 x 和 y 坐标时,我尝试创建一个函数来给出象限名称。但是,我收到错误消息:“输入 '=' 上的解析错误</p>
失败,已加载模块:无。”
我尝试添加一个“|otherwise..”,但这仍然不起作用。我确保我涵盖了 x 和 y 的所有可能性。
swift2 - 如何在 Swift 中防止无效的 instantiateViewControllerWithIdentifier
在 Swift 中,如何防止调用storyboard.instantiateViewControllerWithIdentifier
无效的标识符?
我在 SO 上看到的大多数解决方案都在 Objective-C 中使用 try...catch,但该解决方案在 Swift 中不起作用,因为instantiateViewControllerWithIdentifier
它不会抛出。
swift2 - Swift 守卫语句用法
根据我对guard
swift 语句的理解,我正在执行以下操作:
我只是想了解我们可以在guard
语句中创建一个变量并在函数的其余部分中访问它吗?还是保护语句旨在立即返回或抛出异常?
还是我完全误解了guard
语句的用法?
swift - 如何在swift中使用守卫而不是if
如何在 swift 中使用 'guard'。我已经阅读了很多关于 'guard' 的文章。但我对此没有清楚的想法。请给我明确的想法。请给我以下 'if' 语句的示例输出。
string - 从守卫haskell中的do语句返回一个值
我正在尝试查找字符串列表中的任何字符串中是否已使用某些字母。如果是 - 选择下一个字母进行比较。如果否 - 返回这封信并更新初始列表。
要签入我正在使用的列表:
但这给了我一个错误:
无法将类型 '[Char]' 与 'Char' 匹配
预期类型:[String] -> [Char] -> Char
实际类型:[String] -> [Char] -> [Char]
在 ' stmt 中做'块:更新sc
我的更新函数有以下声明:
有没有正确的方法在警卫中执行 2 个动作otherwise
?我需要返回c以便在另一个递归函数中使用它,该函数将Char
c和 updated [String]
s作为参数
当我让这个函数只返回c而不更新列表时,没有错误:
欢迎任何提示。
更新:我的下一个功能是:
对于更新,我尝试过:
问题是,稍后,我需要使用[String]
which 是更新的结果,以及Char
c(检查结果)到另一个函数中。这就是为什么在执行检查后,我需要返回一个值,并用它更新一个列表。
swift - 滥用guard语句代替nil检查
guard
我正在做一些非常简单的事情,只是为了习惯 Swift(来自 objc)——我想通过使用语句和语句在链表中返回所需的节点switch
。我显然在滥用该guard
语句,因为我的else
子句很大(这是我的 switch 语句被保存的地方)。也许我什至不需要switch
声明,但它只是清理了一点。
我的旧代码如下:
替换为一条guard
语句(但得到一个编译器错误,保护主体可能不会通过) - 我的问题是返回什么,因为我的函数返回类型是<T>
(任何类型)。
我想print
在我的语句之外添加一个语句guard
,说明所需的索引超出了范围,但我还需要在 type 函数的末尾返回一些东西T
。问题是在我的guard
和 switch 语句之外,我没有什么可以返回的。
swift - 警卫声明不一致
// 在 guard 语句中执行 let first 后跟 bool check 会导致编译错误
// 先做布尔检查,然后让工作
上面的两个陈述似乎对我来说是等价的。为什么它在第一种情况下不起作用?
swift2 - Swift 2 可选的字符串防护
我正在处理 swift 2.0 中的一个问题
我从 API 获得了一个 json 文件,我试图从中解开一些字符串。
有时这个 json 会给我一个带有场地街道名称的字符串,但有时不会。所以当我尝试这个时
它总是让我的应用程序崩溃,说它是零。当我评论它时,我的应用程序运行完美,但它没有显示街道。知道如何在没有任何问题的情况下解开字符串nil
吗?
如果尝试此代码
但它也失败了。
swift - 守卫错误:条件绑定的初始化程序必须具有可选类型而不是“字符串”
使用 guard let 时出现致命错误。这是错误:
条件绑定的初始化程序必须具有可选类型而不是“字符串”
在我使用过的代码下方: