Ios 更新Swift 2中的枚举函数

Ios 更新Swift 2中的枚举函数,ios,swift,Ios,Swift,Xcode表示“enumerate”不可用:对序列调用“enumerate”方法 当我尝试使用新语法时 for (row, rowArray) in tilesArray.enumerate() { 然后弹出错误,类型为“AnyObject”的值没有成员“enumerate” 我做错了什么 init (filename: String) { if let dictionary = Dictionary<String, AnyObject>.loadJSONFromBundl

Xcode表示“enumerate”不可用:对序列调用“enumerate”方法 当我尝试使用新语法时

for (row, rowArray) in tilesArray.enumerate() {
然后弹出错误,类型为“AnyObject”的值没有成员“enumerate” 我做错了什么

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 enumerate(rowArray) {
                    if value == 1 {
                        tiles[column, tileRow] = Tile()
                    }
                }
            }
        }
    }
}
显然,您知道TileArray是[[Int]]类型的,因此对适当类型的可选绑定也是如此

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

天哪,我今天太笨了。但更新后仍然存在错误enumerate”不可用:在Sequences上调用“enumerate”方法对于那些使用Swift 3及更高版本的用户,现在使用的正确方法似乎是枚举的,而不是枚举可能的重复