Subscript Implementation in Swift
From the Swift cheat sheet · Subscripts · verified Jul 2026
Subscript Implementation
Adding subscript access to custom types
swift
// Basic subscript
struct Matrix {
let rows: Int, columns: Int
var grid: [Double]
init(rows: Int, columns: Int) {
self.rows = rows
self.columns = columns
grid = Array(repeating: 0.0, count: rows * columns)
}
subscript(row: Int, column: Int) -> Double {
get {
return grid[(row * columns) + column]
}
set {
grid[(row * columns) + column] = newValue
}
}
}
var matrix = Matrix(rows: 2, columns: 2)
matrix[0, 0] = 1.0
matrix[1, 1] = 2.0
// Read-only subscript
struct DaysOfWeek {
let days = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
subscript(index: Int) -> String {
return days[index % 7]
}
}💡 Subscripts can have multiple parameters
⚡ Use subscripts for natural index-based access
📌 Type subscripts use static keyword
🟢 Subscripts can be generic and have default parameters