无法使用类型为'(String)'的参数列表调用'enumerate'

Jen*_*a25 2 ios sprite-kit swift

获取错误"当我正在关注Neil North的iOS Swift游戏教程时,无法使用类型'(String)'的参数列表调用'枚举'.这与1.2中的某种旧方法有关吗?有任何想法吗?

   convenience init(atlasName: String, tileSize: CGSize,
        tileCodes: [String]) {
            self.init(tileSize: tileSize,
                gridSize: CGSize(width: tileCodes[0].characters.count,
                    height: tileCodes.count))

            atlas = SKTextureAtlas(named: atlasName)

            for row in 0..<tileCodes.count {
                let line = tileCodes[row]

                // ERROR IS HERE
                for (col, code) in enumerate(line) {
                    if let tile = nodeForCode(code) {
                        tile.position = positionForRow(row, col: col)
                        if tile.name == "scenery" {
                            tile.position = CGPoint(x: tile.position.x, y: tile.position.y - (tileSize.height/2))
                        }
                        addChild(tile)
                    }
                }
            }
    }
Run Code Online (Sandbox Code Playgroud)

Kni*_*gon 5

是的,String不再是swift 2中集合类型的一部分.您现在想要使用 line.characters

有关此问题的更多信息,请参阅https://developer.apple.com/swift/blog/?id=30