问题标签 [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 投票
2 回答
264 浏览

ios - 斯威夫特:为什么我所有的可选变量看起来都像“可选(305.502)”

我刚刚开始学习swift。我对可选类型有点困惑。我有一些变量var theOptVar: Float?,它可以是 nil,所以我用?.
但是当我想在 UI 的某个地方得到它时,我看到Optional(305.502).
有没有办法在UILabel没有“可选”字样的情况下启用可选 var?

0 投票
5 回答
80 浏览

swift - 对 swift 中的选项有点困惑

也许我还很困惑。我以为我理解了基本概念,但是在 xcode 中玩耍时,我没有得到我认为应该做的事情 采取以下代码

我认为这会给我一个错误,因为我认为应该必须解开标题,因为我正在访问它,但它似乎编译得很好。有人可以对此有所了解。

0 投票
1 回答
176 浏览

parse-platform - 为什么我的 Swift 字符串变量返回 nil?

我正在尝试使用 Parse 创建一个简单的 tableview 来触发我已上传到 Parse Cloud 的 PDF 文档的 URL。

在下面的代码中,我的变量 thePDFFile 确实将 URL 正确输出到控制台。但是当我尝试返回该变量时,它出现 nil 并且应用程序崩溃。

我很确定我没有正确解开一个可选的,但我看不到在哪里。

有错误的函数名为 GrabPDF()->String。

}

0 投票
1 回答
105 浏览

ios - Uwrapping 选项 - Swift 1.2 Xcode 6.4

我仍然遇到选项问题,Apple 制作的示例对我来说并不清楚。我明白:

  • 1 - optional 是一种数据类型,所以 Int? 还是字符串?是可选项,不是 Int 或 String
  • 2 - optional 可以是变量,而不是常量,只要是可选的,可以是 nil 或其他
  • 3 - 为了使用它们,你需要打开它们
  • 4 - 您可以使用可选链接来执行检查(如何决定是展开还是链接?)

    • A)如何在第二个打开圣诞老人?
    • B) 展开后如何在其他函数中使用该变量?
    • C)如何通过可选链接来面对同样的例子?

提前致谢

编辑:解决方案

0 投票
3 回答
3869 浏览

swift2 - Swift 2:是否有一个简短的语法来有条件地从可选变量中设置一个非可选变量?

有时我发现自己在编写这样的 swift 2 代码:

有问题的部分是:

换句话说:如果 optionalInt 有一个值,则将其分配给变量 nonOptionalInt,否则什么也不做。

在 swift 2 中是否有一种等效的方法可以在优雅的单行中表达这一点,而无需使用 if let i 添加中间变量?

编辑

在考虑了第一个答案之后......

显然有一个等价的方式

三元运算符 ? : 不等效,因为它们可能会触发原始代码不会触发的 didSet(如果这是预期的副作用,则很好)

迄今为止最优雅的答案似乎是

它也可能触发像三元运算符一样的 didSet,因此不等效(如果这是有意的,也很好)。

我想我对苹果的愿望是

或者

0 投票
2 回答
4446 浏览

ios - Swift Optionals:如果我需要将非可选类型更改为可选怎么办

我设计了一个自定义对象,它肯定会返回一个值。现在整个应用程序都是围绕该自定义对象构建的。现在出现了可能导致自定义对象为零的情况。

我该怎么办 。将类型更改为可选?并在各处更改代码以展开。还有其他更好的解决方案吗?

0 投票
2 回答
6022 浏览

swift - Swift 可选初始化

这是我的理解

这会自动设置为一个.None值。下面的代码片段证实了这一点(没有编译器错误)

我对可选初始化过程的理解是否正确?如果是这样,为什么当我更改num2let.

我期待nil在使用let. 我在这里错过了什么吗?

我的问题是,这两种情况怎么可能是真的。不应该是其中之一。可选值会自动设置为.None或不自动设置。

0 投票
1 回答
1976 浏览

swift2 - Swift 中的全局变量和可选绑定

我对可选绑定、全局变量和包装和展开有一些非常简单的疑问。由于我是 SWIFT 的新手,因此了解他们的概念非常重要。

1)在 Swift 中,如果我声明一个全局变量,我有 2 个选项可以使其成为可选或非可选,所以让我拥有 2-4 个或更多可选变量。那么是否可以选择将所有这些变量绑定在

2)让我通过以下示例让自己更清楚 - 我的项目 VC1 和 VC2 中有 2 个 VC。VC2 有一个文本字段,用户在其中输入一些值并将其显示在 VC1 的表格视图中。

在VC1

正如你所看到的,我的 VC1 是我的项目运行时加载的第一个视图控制器,我使用一个可选变量来填充我的 tabke vuew,即

因此,当应用程序第一次运行时,它是空的。因此在代码中使用它的值时可能会导致致命错误。那么在

方法或总共声明一个空的 NSMutable 数组类型来代替可选类型。

提前致谢。

0 投票
2 回答
95 浏览

python - 具有连续变量的正则表达式字符串

我对正则表达式(正则表达式)相当陌生,需要一些帮助来制定字符串。我在很大程度上理解它,但是当我需要匹配的文本有变量后跟一个可选短语时,我感到很困惑。

假设文本的格式类似于“打开 $1 [the] 灯”,其中“$1”是我想要的变量,而“the”可以包含或省略。我尝试了以下简介,“turn (.+) (?:the)?\s*lights”,它适用于“打开灯”:

但是当我包含“the”并尝试匹配“turn on the lights”时,我得到“on the”作为我的变量。

这是可以用正则表达式库完成的吗?如果问题不清楚,我深表歉意,在此先感谢您!

0 投票
2 回答
1587 浏览

swift - Swift 可选字典 [String: String?] 展开错误

所以在这里我有一个基本的设置

但是错误指出了它要求我强制打开它的位置,如下所示:

这没有意义,因为keyValuedefaultValue已经被解包