gpt4 book ai didi

swift - 类型 '(String, AnyObject)' 没有下标成员

转载 作者:搜寻专家 更新时间:2023-11-01 05:48:49 25 4
gpt4 key购买 nike

我遇到过类似的问题,但仍然不明白为什么我的代码会抛出错误。

let posts = try NSJSONSerialization.JSONObjectWithData(data!, options:NSJSONReadingOptions.MutableContainers) as?[String: AnyObject]
print(posts)

for post in posts! {
var postObject:Post?
if let id = post["ID"] as? Int , let name = post["Country_Name"]as? String{ //Type '(String, AnyObject)' has no subscript members
postObject = Post(ID: id, Name: name)
self.CountryId.append(id)
}
self.CountrySelected.append(postObject!)

json data :

[
{
"$id": "1",
"ID": 1,
"Country_Name": "sample string 2"
},
{
"$ref": "1"
}
]

当我使用 [[[String: AnyObject]] 时

error : Error Domain=NSCocoaErrorDomain Code=3840 “JSON 文本不是以数组或对象开头,也没有设置允许片段的选项。” UserInfo={NSDebugDescription=JSON 文本未以数组或对象开头,并且未设置允许片段的选项。}

为什么?

最佳答案

原因是这个非常奇怪的短语

for post in posts

问题是 posts 是一个字典(不是数组)。所以你要求循环通过字典。这是一件非常奇怪的事情。这样做的结果有点奇怪:每次循环,您都会得到一个代表一个键值对的元组

关于swift - 类型 '(String, AnyObject)' 没有下标成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36164127/

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