Skip to content

Instantly share code, notes, and snippets.

@deezaster
Last active August 29, 2015 14:04
Show Gist options
  • Save deezaster/17015583d58ceaf462b1 to your computer and use it in GitHub Desktop.
Save deezaster/17015583d58ceaf462b1 to your computer and use it in GitHub Desktop.
Array2D<T> in Swift
class Array2D<T> {
let columns: Int
let rows: Int
var array: Array<T?>
init(columns: Int, rows: Int) {
self.columns = columns
self.rows = rows
array = Array<T?>(count: rows*columns, repeatedValue: nil)
}
subscript(column: Int, row: Int) -> T? {
get {
return array[row*columns + column]
}
set {
array[row*columns + column] = newValue
}
}
}
// using
let foo = Foo()
let arr = Array2D<Foo>(columns: 3, rows: 5)
abc[2, 1] = foo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment