【问题标题】:Swift2 enumerate function on a dictionary itemSwift2枚举字典项上的函数
【发布时间】:2015-12-24 13:20:01
【问题描述】:

我正在关注 Swift1 的教程,他们使用“枚举”函数枚举数组。自 Swift2 以来,他们改变了这样做的方式,我不能再让它为某个类型为“AnyObject”的数组工作。

这是我遇到问题的代码:

init(filename: String) {
    if let dictionary = Dictionary<String, AnyObject>.loadJSONFromBundle(filename) {
        if let tilesArray: AnyObject = dictionary["tiles"] {
            for(row, rowArray) in enumerate(tilesArray as! [[Int]]) {
                let tileRow = NumRows - row - 1

                for (column, value) in rowArray.enumerate() {
                    if value == 1 {
                        tiles[column, tileRow] = Tile()
                    }
                }
            }
        }
    }
}

我已经通过更改它来修复这条线

for (column, value) in enumerate(rowArray) {

for (column, value) in rowArray.enumerate() {

这很好用

我遇到的问题是这一行:

for(row, rowArray) in enumerate(tilesArray as! [[Int]]) {

tileArray 没有用于 AnyObject 类型的函数 enumerate(),我不知道如何解决这个问题。我对这门语言还是很陌生,所以目前这是一个障碍。

任何帮助都会很棒!如果缺少任何代码,我会很乐意提供。

【问题讨论】:

    标签: ios swift dictionary


    【解决方案1】:

    你仍然需要[[Int]]

    for (row, rowArray) in (tilesArray as! [[Int]]).enumerate() {
    

    或者更好的是,您可以使用:

    if let tilesArray = dictionary["tiles"] as? [[Int]] {
    

    【讨论】:

    • 哦,好吧,有道理!我想知道语法将如何工作。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    • 2013-02-25
    相关资源
    最近更新 更多