ios - 转换此代码时我哪里出错了,因此它不会将变量放入数组中?

标签 ios arrays swift

以下代码片段:

if let dict = json?["Stats"] as? [String:AnyObject] {

       if let newdict = dict["biggestWin"] as? [[String : AnyObject]] {
       self.bigWinPlayer1Goals = newdict.flatMap { $0["player1_goals"] as! String!}
        print (self.bigWinPlayer1Goals)
}

输出:

["1"]

但是,1 包含在一个数组中——这是我不想要的。所以我重写了代码:

if let newdict = dict["biggestWin"] as? [String : AnyObject] {
        let bigWinPlayer1Goals = newdict ["player1_goals"] as? String
        print (bigWinPlayer1Goals!)
 }

但是这不起作用,并且不输出任何内容。

我哪里错了?

这是有问题的数组:

["Stats": {
biggestWin =     (
            {
        "player1_goals" = 1;
        "player2_goals" = 2;
    }
);
goalDifference = "-17";
goalsConceded = 32;
goalsScored = 15;
totalDraws = 3;
totalLosses = 10;
totalWins = 1;
winPercentage = "7.14%";
}]

我希望能够将 player1_goalsplayer2_goals 存储在两个单独的变量中。

最佳答案

dict["biggestWin"] 返回的值是 [String : AnyObject]] 类型,即 AnyObjectArray .

if let data = dict["biggestWin"] as? [[String : AnyObject]] {
    let newdict = data.first!
    let bigWinPlayer1Goals = newdict ["player1_goals"] as? String
    print (bigWinPlayer1Goals!)
}

关于ios - 转换此代码时我哪里出错了,因此它不会将变量放入数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40563726/

相关文章:

ios - 点击 UITabBarItem 像 Instagram 和 Twitter 一样滚动到顶部

json - 使用字典将 alamofire 中的 JSON 数据解析为数组

iphone - 通过导航栏按钮的操作在 UITableview 中设置删除按钮

angularjs - 如何使用 Angular 附加表单字段以及如何在数据库中插入值

swift - 在 tvOS/swift 上切换 hls 的字幕

c++ - 多态数组只复制类的基本属性[C++]

传递给函数时更改数组指针的值

ios - UniversalLink 不适用于 iOS 14 设备,但在模拟器上运行良好

ios - 如何获取本地化的 CFBundleDisplayName

ios - 如何在iOS中对包含字典的nsmutable数组进行排序