2017-01-25 1 views
0

aufrufen Ich versuche, ein tiefgestelltes Feature in einem Klassenkonstrukt zu implementieren. Der nicht-eindeutige Code der Klasse wurde entfernt.Klassenindex kann nicht Wert von Nicht-Funktionstyp

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) 

Die letzte Zeile des Codes zeigt folgendes Problem:

Was habe ich falsch gemacht "nicht Nicht-Funktionstyp 'Grid' Wert nennen kann"?

Antwort

1

Sie müssen eckige Klammern für den Index verwenden. Das funktioniert auf dem Spielplatz:

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