• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - Swift 2 + SwiftyJSON : Use of unresolved identifier error

[复制链接]
菜鸟教程小白 发表于 2022-12-13 11:20:26 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在使用 Swift 2 和 iOS 9 制作一个 API REST 应用程序,使用 SwiftyJSON 支持 Swift 2 ( https://github.com/andrelind/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

Use of unresolved identifier 'subJson 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 和我的项目(如果适用于 iOS 9)。谢谢!



Best Answer-推荐答案


您混淆了参数的内部名称和迭代给您的实际参数。以下应该有效:

// 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)
}

subJSON 不是包含您的 json 的变量的名称,名称是 JSON/mySubJSON,索引也是如此。

关于ios - Swift 2 + SwiftyJSON : Use of unresolved identifier error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31774452/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap