【发布时间】:2017-06-26 13:55:30
【问题描述】:
我使用 SwiftyJson 库来帮助我解析 json 响应。
这段代码:
Alamofire.request(req).validate().responseJSON { (response) in
switch response.result{
case .success(let dataJson):
let json = JSON(dataJson)
for (key, subJson) in json.enumerated() {
print("iterate")
print(key)
print(subJson)
subJson["name"]
}
case .failure(let error):
print(error)
}
不起作用,并产生:
subJson["name"] -
Type '(String, JSON)' has no subscript members
但是,当我将其更改为:
for (key, subJson):(String, JSON) in json {
print("iterate")
print(key)
print(subJson)
subJson["name"]
}
它有效。但是为什么
for (key, subJson) in json.enumerated() {
print("iterate")
print(key)
print(subJson)
subJson["name"]
}
上述方法有效吗?
【问题讨论】:
-
所以,它只有在你有明确的类型注释时才有效,对吧?
-
@Mr.Xcoder 看起来像这样。
-
我还看到您在第二个代码 sn-p 中删除了
.enumerated()。这是故意的吗?尝试在其他代码中也进行更改,看看会得到什么
标签: swift