我正在尝试在类构造上实现下标功能。该课程的非虔诚代码已被删除。
class Grid {
var nodes: [[Node]]? = nil
subscript(row:Int, column:Int) -> Node {
get {
return self.nodes[row][column]
}
}
}
let grid = Grid()
let node = grid(row:0, column:0)
代码的最后一行显示以下问题:
“无法调用非函数类型'Grid'的值”
我做错了什么?
答案 0 :(得分:1)
您需要使用方括号作为下标。这适用于操场:
class Grid {
var nodes: [[Int]] = [[1],[2],[3]]
subscript(row: Int, column: Int) -> Int {
get {
return self.nodes[row][column]
}
}
}
let grid = Grid()
let node = grid[0, 0] // node == 1