问题标签 [optional-variables]

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 投票
3 回答
673 浏览

swift - 使用或不使用“!”有什么区别?在斯威夫特?

!标记用于 Swift 中的可选值以提取它的包装值,但可以在没有 的情况下提取该值!

另一个使用的例子!

上面的代码都得到了正确的值,所以我想知道 using 和 not using 有什么区别,!如果可选值是 nil 或其他东西,它是否只是为了在运行时检测错误?提前致谢。

0 投票
2 回答
133 浏览

swift - 在 Swift 编程语言中使用选项

据我所知,推荐使用选项(本例中为 Int)的方法如下:

是否可以使用更短的方法来执行以下操作?

更新

为了更清楚我想要做什么:我有以下选项

我不知道一、二或三是否为零。如果它们为零,我不希望它们在添加中被忽略。如果它们具有价值,我不希望它们被添加。

如果我必须使用我知道的推荐方式,它看起来像这样:(未嵌套)

有没有更短的方法来做到这一点?

0 投票
5 回答
18317 浏览

ios - 如何快速检查 imageView 是否不为零?

快速解开可选值时出现致命错误。

我有一个带有背景图像的配置文件 ViewController 和一个头像图像女巫是相同的。

当用户没有设置图像时,我遇到了这个致命错误,相反我想添加一个“默认图像形状”。

我如何检查图像是否不为零?

这是我的代码:

0 投票
0 回答
152 浏览

swift - Swift:如何检查响应并将协议中声明的 var 分配为可选

协议声明:

用法:

如何检查 var 实现以及如何分配?

0 投票
9 回答
44367 浏览

swift - Swift 中的向下转换选项:as? 键入,或作为!类型?

鉴于 Swift 中的以下内容:

以下两个陈述之间的实际区别是什么:

对比

0 投票
3 回答
5589 浏览

ios - 在 Swift 中遍历视图控制器层次结构

我想遍历 Swift 中的视图控制器层次结构并找到一个特定的类。这是代码:

现在,我知道 parentViewController 属性返回一个可选的 UIViewController,但我不知道如何以上帝的名义将 Generic 设为可选类型。也许使用某种 where 子句?

0 投票
1 回答
3177 浏览

swift - Swift 中的可选链接或三元表达式?

是否有更有效、更易读或更现代的方式来编写以下内容?

我不介意在这里使用三元运算符,但感觉我应该使用 Swiftif let currentColor = view.backgroundColor语法。我只是不确定如何指定默认值。

0 投票
1 回答
938 浏览

ios - 未使用 Xcode 6.1 设置 Swift 可选变量

我正在尝试构建我的第一个 Swift 应用程序。在此应用程序中,我正在循环一个包含有关某些餐厅的信息的 KML 文件,并且对于每个餐厅,我尝试Place使用可用信息构建一个对象,比较距离并保持Place最接近给定点的距离.

这是我的 Place 模型,一个非常简单的模型(Place.swift):

这是应用程序中循环 KML 文件中项目的部分。

当计算距离时,我在这个脚本中添加了断点。变量的值为placenil,我不明白为什么。如果我替换这一行:

通过这一行:

我可以看到我的 place 对象现在已正确实例化,但我不明白为什么。当我尝试保存最近的地方时,我也遇到了完全相同的问题:

在检查器中,closestPlace即使在使用我的位置对象设置后,值也是 nil。

0 投票
3 回答
3635 浏览

swift - 检查可选 isEqualToString

我有一个案例,我想检查我拥有的可选项是否等于字符串。首先我必须打开它以检查它是否存在,然后我想检查它是否等于另一个字符串。但是,这给了我一个问题,我必须两次编写相同的代码。我给你举个例子:

如您所见,我必须编写两次 else 语句。一次,如果名称存在且不是“John”,另一次是名称不存在时。

我的问题是,如何以正确的方式做到这一点。

谢谢你的帮助!

0 投票
2 回答
306 浏览

ios - 如何在可选字符串数组中解开 NSMutableDictionary.allkeys

我试图将 NSMutableDictionary 的所有键值作为字符串数组。我正在使用它myNSMutableDictionary.allkeys来将值作为数组获取,但我找不到解包键值的方法。

这是我到目前为止所尝试的:

我试过这个

和这个

我不断获得价值,Optional("kMSZgoTmiX")而不是kMSZgoTmiX我需要的关键价值

谢谢你的帮助!