Subscripts are used to access information from a collection, sequence and a list in Classes, Structures and Enumerations without using a method. These subscripts are used to store and retrieve the values with the help of index without the use of separate method. To access elements via subscripts write one or more values between square brackets after the instance name.

For example: Array elements are accessed with the help of someArray[index] and its subsequent member elements in a Dictionary instance can be accessed as someDicitonary[key].

// subscripting an array.. array = [1, 2, 3, 5, 8, 13]

print(array[0]) // prints 1

print(array[1..4]) // 1..4 is the range from 1 to 4 without 4
print(array[1...4]) // 1...4 is the range from 1 to 4 including 4
// subscripting a dictionary..
dictionary = ["male": "I am a male"]
print(dictionary["male"]) // prints "I am a male"

For a single type, subscripts can range from single to multiple declarations. We can use the appropriate subscript to overload the type of index value passed to the subscript.

subscript (<parameters>) -> <return type> {
// the getter is required
get {
// used for subscript value declarations
set(newValue) { // the setter is optional
// definitions are written here

The parameter list can take multiple values. The getter method id required. The setter method is optional. The parameter newValue in the setter method is implicitly declared. You can change it to anything you want which will improve the readability of the code.


class daysofaweek {private var days = [“Sunday”, “Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “saturday”]subscript(index: Int) -> String {
get {
return days[index]
set(newValue) {
self.days[index] = newValue
var p = daysofaweek()print(p[0]) // prints sundayp[0] = “Monday”print(p[0]) // prints Monday

Here is another example from

struct subexample {
let decrementer: Int
subscript(index: Int) -> Int {
return decrementer / index
let division = subexample(decrementer: 100)

print("The number is divisible by \(division[9]) times")
print("The number is divisible by \(division[2]) times")

it prints:

The number is divisible by 11 times
The number is divisible by 50 times


iOS and tvOS developer, dreamer, photographer 🤨

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store