'阵列'不可用:请从您的懒惰序列构造一个数组:Array(...)*

时间:2015-11-11 05:56:43

标签: swift

是的,对于同样的错误还有其他SO答案。但我无法找到一个足以代表我的案例让我弄明白。请帮忙。

这些行没有关系。他们在不同的街区。然而,他们给出了同样的错误。

'阵列'不可用:请从您的延迟序列构建一个数组:Array(...)

编辑:这些都归功于Vadian。正确的代码张贴谁下降:)

    //let recordDic = YALCity.defaultContent().values.array[selectedIndexPath.row] // re-written
    let recordArray = Array(YALCity.defaultContent().values)
    let recordDic = recordArray[selectedIndexPath.row]

    //let cityName = YALCity.defaultContent().keys.array[indexPath.row] // re-written
    let cityArray = Array(YALCity.defaultContent().keys)
    let cityName = cityArray[indexPath.row]

修正了这个。

    // for element in recordDic.keys.array { // error
    for element in Array(recordDic.keys) // fixed :)

还是不能得到这个。

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return YALCity.defaultContent().keys.array.count
    } // error

天哪,我明白了!

return Array(YALCity.defaultContent().keys).count

1 个答案:

答案 0 :(得分:3)

错误消息表明您无法将array用作财产。建议的语法是

let cityArray = Array(YALCity.defaultContent().keys)
let cityName = cityArray[indexPath.row]