Ios 更新Swift 2中的枚举函数
Xcode表示“enumerate”不可用:对序列调用“enumerate”方法 当我尝试使用新语法时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
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及更高版本的用户,现在使用的正确方法似乎是枚举的,而不是枚举可能的重复