gpt4 book ai didi

ios - 类型 'String' 不符合协议(protocol) 'NSCopying' 向下转换 AnyObject 到 String 时出错

转载 作者:搜寻专家 更新时间:2023-10-30 21:55:39 24 4
gpt4 key购买 nike

我正在尝试像这样解析 JSON 格式:

{ 
"key_1" : {
"key_2" : "value"
}

}

然后将“值”赋给一个变量。

这是我的代码:

var variableShouldBeAssigned: String
if let x = (jsonResult["key_1"]? as? NSDictionary) {
if let y = (x["key_2"]? as? String) {
variableShouldBeAssigned = y
}
}

但是,当我尝试从 x["key_2"]? 向下转换为字符串时发生错误,但是从 jsonResult["key_1"]? 向下转换没问题。 code> 到 NSDictionary。

我可以通过使用 x["key_2"] 替换 x["key_2"]? 来解决错误,但我真的不知道为什么它只适用于 jsonResult["key_1"]?

谁能告诉我原因吗?

最佳答案

String 不符合 NSCopying,但 NSString 肯定符合!此外,从 NSString 到 String 是瞬时暗示的......

所以我会说尝试这样的事情...将 String 更改为 NSString

这是一个示例,假设您将 jsonResult 作为 NSDictionary 来处理...

func giveDictionary(jsonResult:NSDictionary) -> String?
{

if let x = (jsonResult["key_1"]? as? NSDictionary)
{
if let y = (x["key_2"]? as? NSString)
{
return y
}
}
return nil
}

关于ios - 类型 'String' 不符合协议(protocol) 'NSCopying' 向下转换 AnyObject 到 String 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24988121/

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