)"的值-6ren"> )"的值-我正在尝试为 Alamofire 请求初始化参数。出于某种原因,其中一个参数的值总是以“Optional()”的值结束,即使我打开它也是如此。 这是我尝试过的... var params : [Str-6ren">
gpt4 book ai didi

ios - 即使在展开时也获得 "Optional()"的值

转载 作者:行者123 更新时间:2023-12-01 21:39:37 24 4
gpt4 key购买 nike

我正在尝试为 Alamofire 请求初始化参数。出于某种原因,其中一个参数的值总是以“Optional()”的值结束,即使我打开它也是如此。
这是我尝试过的...

var params : [String : Any] = [:]

params["facility_id"] = facility.facilityId ?? 0
if facility.email != nil {
params["email"] = facility.email!
}
if let url = facility.facebookUrl {
params["facebook_url"] = url
}
params["facebook_url"] 的值最终为 "Optional(Facebook.com)"我试过(只是为了测试)
params["facebook_url"] = facility.facebookUrl!
我仍然在我的值(value)中得到“optional (”)这个词。
如何让“Optional()”消失?

最佳答案

当您访问字典时,它返回它的值类型的 optional ,因为它不知道运行时某些键是否在字典中可用。如果键存在,则返回它的值,但如果不存在,则我们得到 nil 值。
使用 optional 绑定(bind)来访问未包装的值:

if let url = params["facebook_url"] {
print(url) // facebook url
}
如果双重 optional 展开:
if let urlOptional = params["facebook_url"], let value = urlOptional {
print(value) // facebook url
}
注意:还要检查您设置“facebook_url”键值的来源。

关于ios - 即使在展开时也获得 "Optional(<data value>)"的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62605016/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com