【问题标题】:Class subscript cannot call value of non-function type类下标不能调用非函数类型的值
【发布时间】:2017-01-25 23:21:32
【问题描述】:

我正在尝试在类构造上实现下标功能。该类的非相关代码已被删除。

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'的值"

我做错了什么?

【问题讨论】:

    标签: swift swift3


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 2016-11-26
      • 2017-01-30
      • 1970-01-01
      • 2018-02-27
      • 2017-07-02
      • 1970-01-01
      • 1970-01-01
      • 2017-03-02
      相关资源
      最近更新 更多