Ios Swift 2+SwiftyJSON:使用未解决的标识符错误

Ios Swift 2+SwiftyJSON:使用未解决的标识符错误,ios,swift2,xcode7,ios9,Ios,Swift2,Xcode7,Ios9,我正在使用iOS 9在Swift 2中制作一个API REST应用程序,使用对Swift 2的SwiftyJSON支持。当我获取并打印数据时,我使用以下代码: RestApiManager.sharedInstance.getRandomUser { json in let results = json["results"] for (index: String, subJson: JSON) in results{ var user = subJson["user"].st

我正在使用iOS 9在Swift 2中制作一个API REST应用程序,使用对Swift 2的SwiftyJSON支持。当我获取并打印数据时,我使用以下代码:

RestApiManager.sharedInstance.getRandomUser { json in
  let results = json["results"]
  for (index: String, subJson: JSON) in results{
      var user = subJson["user"].string
      print(user)
  }
}
使用此代码,我得到以下错误:

var user = subJson["user"].string
使用未解析的标识符“subsson error”

根据Swift 2文档,字典循环如下:

for (key, value) in source{
  //Do something
}
我可以这样使用SwiftyJSON文档:

for (key: String, subJson: JSON) in json {
    //Do something you want
}

如果理论上声明是正确的,有人知道我为什么会收到这个错误吗。我使用的是Xcode 7.0 beta 3、Swift 2和我的项目if,用于iOS 9。谢谢

您混淆了参数的内部名称和迭代提供给您的实际参数。以下方面应起作用:

// demo JSON
let json = ["results" : ["first" : ["user" : 123], "second" : ["user" : 456], "third" : ["user" : 789]]]

let results = json["results"]!
for (index: String, subJson: JSON) in results {
    var user = JSON["user"]
    print(user)
}
更清楚地说:

for (index: myIndex, subJson: mySubJSON) in results {
    var user = mySubJSON["user"]
    print(user)
}
subson不是包含json的变量的名称,名称是json/mySubJSON,索引也是如此。

尝试以下方法:

RestApiManager.sharedInstance.getRandomUser { (json) -> Void in
            let results = json["result"]
            for result in results {
                let user = result.1["user"].object
                print(user)
            }
        }

您的结果将返回一个键,即值,因此当您对result.1[user]进行编码时,您将根据SwiftyJSON文档接收result的值://使用元素let path=[1,list,2,name]let name=json[path].string的路径获取字符串