当我创建 JSON 的输出时,Alamofire 的 Optional({}) 是什么意思
What is Optional({}) at Alamofire mean when i create output of JSON
当我使用 Alamofire 创建 JSON 的输出时,我在我的控制台中看到了这个
Optional({})
是什么意思?
Optional({
0 = (
All,
""
);
C2001 = (
"ARAI Bay Side"
);
C2002 = (
"ARAI Fukuoka"
);
})
我是 swift
和这个的新手,有什么想法吗?
你看到的是 print()
或 println()
等全局函数的输出,它在 Optional( )
中包含可选描述,除非可选的值为 nil,其中case 只打印 nil
。
如果你有这个:
var foo: Int?
foo = 7
println(foo)
输出为Optional(7)
而
println(foo!)
只打印 7
Alamofire给你的是一个可选变量,因为它无法提前预测请求成功有输出还是失败有none.
同样,它也给你一个 error?
变量(注意 ?
,这意味着它也是一个可选的),如果请求成功,它将是 nil
或者是什么(很可能是 NSError
)如果发生错误。
您可以使用 if yourVariable != nil
检查可选变量是否已设置(包含某些内容),在这种情况下您可以使用 yourVariable!
.
解包它
您还可以使用以下内容:
if let yourUnwrappedVariable = yourVariable!
将变量解包到一个新的(非可选的)yourUnwrappedVariable
变量中并执行 if
块中的代码,如果变量已设置(包含某些东西,不是 nil
),这次不需要像前面的例子那样再次解包变量(这里你已经有了 yourUnwrappedVariable
变量,可以立即在 if 块中使用它)。
最后,如果您确定该变量将始终被设置,您可以通过将它后跟一个 !
符号传递给您想要的任何方法调用来打开它,如下所示:
myMethod(initWithData: yourVariable!, anotherArgument: anotherValue)
如果变量碰巧不包含任何内容,将抛出异常。
当我使用 Alamofire 创建 JSON 的输出时,我在我的控制台中看到了这个
Optional({})
是什么意思?
Optional({
0 = (
All,
""
);
C2001 = (
"ARAI Bay Side"
);
C2002 = (
"ARAI Fukuoka"
);
})
我是 swift
和这个的新手,有什么想法吗?
你看到的是 print()
或 println()
等全局函数的输出,它在 Optional( )
中包含可选描述,除非可选的值为 nil,其中case 只打印 nil
。
如果你有这个:
var foo: Int?
foo = 7
println(foo)
输出为Optional(7)
而
println(foo!)
只打印 7
Alamofire给你的是一个可选变量,因为它无法提前预测请求成功有输出还是失败有none.
同样,它也给你一个 error?
变量(注意 ?
,这意味着它也是一个可选的),如果请求成功,它将是 nil
或者是什么(很可能是 NSError
)如果发生错误。
您可以使用 if yourVariable != nil
检查可选变量是否已设置(包含某些内容),在这种情况下您可以使用 yourVariable!
.
您还可以使用以下内容:
if let yourUnwrappedVariable = yourVariable!
将变量解包到一个新的(非可选的)yourUnwrappedVariable
变量中并执行 if
块中的代码,如果变量已设置(包含某些东西,不是 nil
),这次不需要像前面的例子那样再次解包变量(这里你已经有了 yourUnwrappedVariable
变量,可以立即在 if 块中使用它)。
最后,如果您确定该变量将始终被设置,您可以通过将它后跟一个 !
符号传递给您想要的任何方法调用来打开它,如下所示:
myMethod(initWithData: yourVariable!, anotherArgument: anotherValue)
如果变量碰巧不包含任何内容,将抛出异常。