问题标签 [unwrap]

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 回答
1714 浏览

swift - 在保护条件中将选项解包到预定义变量而不创建新常量

Swift 守卫语句允许您将可选项解包为新常量,并在赋值失败时提前返回。

如果我想解开一个可选变量并将其设置为预定义的非可选变量,我首先解包到新常量(newString),然后在保护语句之后设置非可选变量,如下所示:

有没有办法在不创建新常量的情况下在保护语句的条件内设置一个预定义的、非可选的 var? 类似于以下内容(不起作用)?

如果这样的事情是不可能的,那么 Swift 语言设计背后是否有一个基本的哲学或技术原因来解释为什么这不存在?

0 投票
2 回答
195 浏览

ios - 用 if var 解包,仍然返回单元格

我在 UITableViewController 类中有一个 cellForRowAt indexPath 方法,我试图在其中解开变量“任务”(在另一个 .swift 文件中声明)。如果我用 if var 解开它,然后返回 if var 范围之外的单元格,我会收到“使用未解析的标识符‘cell’”错误,但如果我在 if var 范围内包含返回单元格,我会得到一个“预期返回 'UITableViewCell' 的函数中缺少返回”错误。我该如何解决?我只是在学习 Swift,所以任何帮助都将不胜感激。谢谢!

0 投票
2 回答
646 浏览

swift - 解包不是可选的变量?

我为一个简单的计算器应用程序遇到了这些代码行。

leftValStr被声明为var leftValStr = ""

rightValStr也被声明为var rightValStr =""

我想知道使用“!”的目的是什么 在\(Double(leftValStr)! / Double(rightValStr)!)是为了?据我所知,“!” 用于展开可选。leftValStr 和 rightValStr 这里没有声明为 Optional 那么为什么我们必须解开它们呢?

0 投票
3 回答
1272 浏览

ios - Swift:解包 Optionals 和 NSNull

在此示例中,“action”始终作为 key 在 self.info 中存在。

一旦第二行执行,我得到:

知道即使我打开它,动作如何是 NSNull 吗?我什至尝试过“if action != nil”,但它仍然以某种方式滑过并导致 SIGABRT。

0 投票
4 回答
1052 浏览

swift - 为什么我不能解开 UserDefault 类型的字符串?[斯威夫特 3.0 - Xcode 8]

我已将委托发回的数据存储为用户默认值,并且我正在尝试准备将其发送到 segue 中。我可以在 segue 中发送它,我遇到的问题是数据以"optional[Data]"我知道可选含义的形式出现,但它不会让我像可选的那样解开 UserDefault,即使它说它是可选的?

这是代码:

错误是:

“条件绑定的初始化程序必须具有可选类型,而不是'UserDefaults'”在线if let unwrap = defaults{

为什么我不能像这样解开它?

另一种尝试:

这种方式没有附加任何内容,Tosend 是空的吗?

0 投票
1 回答
84 浏览

objective-c - 如何在 Objective-C 中从 XML 中解包内容值

我在 XML 文件中正确接收调试中的值。

我从 XML 收到的内容是:

我需要的是value='#159',我不知道如何打开它并获取价值。

任何帮助表示赞赏。

0 投票
2 回答
839 浏览

swift3 - 或可选绑定的条件?

我在Swift 3.1文档中看到您可以在以逗号分隔的语句中包含几个可选绑定if,并且它的行为类似于AND运算符。

假设我有两个可选属性,我想检查它们中的哪一个(或两者)是/不是nil,解开非零属性,然后执行一段代码。使用这个:

if仅当两个属性都展开(AND条件)时才执行语句块。但对我来说,至少有一个属性为非零就足以执行if语句块(OR条件)中的代码。但如果我这样做:

但是我没有非零属性的展开值。我想在if代码的语句块中提供未包装的值,以避免那里的可选链接。

哪个是实现这一目标的最佳实践和最紧凑的方法?

0 投票
2 回答
53 浏览

fatal-error - “致命错误:从 CloudKit 查询时在展开可选值时意外发现 nil”

我正在尝试使用以下代码从 CloudKit 获取当前用户的名字:

但是在执行时,currentUserID 为 nil,并创建了致命错误。有谁知道为什么 currentUserID 为零?

0 投票
1 回答
2939 浏览

swift - 斯威夫特:“可选类型'(Int,Int)的值?' 没有打开;你是不是要使用“!” 或者 '?'?

我收到一条错误消息:

“可选类型(Int,Int)的值?未解包”

代码应该加粗但没有格式化的地方。我在之前的函数实现中有一个非常相似的“未包装”字典实现,但没有收到错误。我是学习 Swift 工作原理的新手。有人可以在这种情况下对选项的类型转换和解包进行更多教育吗?

0 投票
2 回答
713 浏览

python - 使用 numpy 在多个维度上有效展开

假设我有一个阶段数组(来自复数)

我现在想在所有维度上展开这个数组。在上面的 3D 案例中,我会做

虽然这在 3D 情况下仍然可行,但在更高维度的情况下,这种方法对我来说似乎有点麻烦。有没有更有效的方法来用 numpy 做到这一点?