gpt4 book ai didi

ios - 使用 SwiftyJson 从锁匠那里提取值(value)

转载 作者:行者123 更新时间:2023-11-28 05:30:39 25 4
gpt4 key购买 nike

我正在尝试 Swift 中访问 token 的值。我正在使用 Locksmith 加载 token 像这样:

  let (dictionary, error) = Locksmith.loadDataForUserAccount("userAccount")

这将在控制台中返回以下内容:

 Optional({
"access_token" = 123123123123123;
})

我正在使用 SwiftyJSON 提取访问 token 的值

var access_token =  dictionary["access_token"].stringValue

我收到以下错误:

'NSDictionary?' does not have a member named 'subscript'

知道为什么吗?

最佳答案

LockSmith 返回 (NSDictionary?, NSError?):

 public class func loadDataForUserAccount(userAccount: String, inService service: String = LocksmithDefaultService) -> (NSDictionary?, NSError?)

因此,在您的情况下,dictionary 本身是可选的:

尝试:

var access_token =  dictionary?["access_token"] as? String

这里的access_tokenString?,可以是nil。如果你想把它存储到 AnyObject 变量,你必须解包它。例如,使用 "Optional Binding" :

if let token = access_token {
// Here, `token` is `String`, while `access_token` is `String?`
self.access_token = token
}

或者更直接:

if let access_token =  dictionary?["access_token"] as? String {
// Here, access_token is `String`, not `String?`
self.access_token = token
}
else {
// error handling...
}

顺便说一句,如果你想使用 SwiftyJSON,你应该从 dictionary 创建 JSON 对象。

if let dict = dictionary {
var json = JSON(dict)
var access_token = json["access_token"].stringValue
}

关于ios - 使用 SwiftyJson 从锁匠那里提取值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28710056/

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